Welcome! Everything is fine.

[TIL] 접근제어자 ~ 추상클래스, 계산기 과제 완료 본문

TIL

[TIL] 접근제어자 ~ 추상클래스, 계산기 과제 완료

개발곰발 2025. 1. 7.
728x90

✅ 자바 문법 종합반 3주차 완료

접근 제어자

  • 접근제어자(access modifier) : 내부에 선언된 데이터를 보호하기 위해 외부에서 접근하지 못하도록 제한하는 역할을 한다. 클래스, 멤버 변수, 메서드, 생성자에 사용되며, default가 기본값이다.
    • public : 접근 제한이 없다.
    • protected : 같은 패키지 내에서 접근 제한이 없고, 다른 패키지라도 상속 관계라면 접근이 가능하다.
    • default : 같은 패키지 내에서만 접근이 가능하다.
    • private : 같은 클래스 내에서만 접근이 가능하다.

상속

  • 상속 : 부모 클래스의 필드와 메서드를 물려주는 것. extends 키워드를 사용한다.
    • 부모 클래스(슈퍼 클래스) : 상속을 통해 자신의 필드와 메서드를 다른 클래스에 제공하는 클래스
    • 자식 클래스(서브 클래스) : 부모 클래스로부터 필드와 메서드를 상속받는 클래스
   public class 자식클래스 extends 부모클래스 {

   }

✔️ 자바에서는 클래스 간의 관게가 복잡해지는 문제 때문에 다중 상속을 허용하지 않는다.
✔️ final 클래스는 상속할 수 없다. final 메서드 역시 오버라이딩 할 수 없다.

  • 오버라이딩 : 부모 클래스로부터 상속받은 메서드의 내용을 재정의 하는 것.
    @Override 애노테이션을 사용한다.

super와 super()

  • super : 부모 클래스의 멤버를 참조할 수 있는 키워드
  • super() : 부모 클래스의 생성자를 호출할 수 있는 키워드, 부모 클래스의 생성자는 가장 첫 줄에서 호출되어야 한다.

추상 클래스

  • 추상 클래스 : 상속을 목적으로 사용되는 클래스로, 추상 메서드가 하나라도 있다면 추상 클래스로 선언한다. abstract 키워드로 추상 클래스를 선언한다.
  • 추상 메서드 : 구현되지 않은 메서드로, 자식 클래스가 반드시 오버라이딩해서 사용해야 한다.

✅ Lv.2 계산기 과제 완료