7.5 final 클래스와 final 메소드
(1) final 클래스
public final class 클래스 { ... }
- 클래스 선언 시 class 앞에 final 키워드를 붙이면 더 이상 상속할 수 없는, 최종적인 클래스가 됨
=> final 클래스 == 부모 클래스 될 수 없음 == 자식 클래스 만들 수 없음
(2) final 메소드
public final 리턴타입 메소드(매개변수, ...) { ... }
- 메소드 선언 시 final 키워드를 붙이면 오버라이딩 할 수 없는, 최종적인 메소드가 됨
=> 부모 클래스에 선언된 final 메소드는 자식 클래스에서 재정의될 수 없음
7.6 protected 접근 제한자
- protected: public과 default의 중간쯤...
접근 제한자 | 제한 대상 | 제한 범위 |
protected | 필드, 생성자, 메소드 | 같은 패키지이거나, 자식 객체만 사용 가능 |
- 같은 패키지에서는 default처럼 접근 가능
- 다른 패키지에서는 자식 패키지만 접근을 허용
* new 연산자를 사용해 생성자 직접 호출은 불가능, 자식 생성자에서 super()로 부모 클래스 생성자 호출
'언어 > java' 카테고리의 다른 글
[Java] 8. 인터페이스 (1) - 1~3 (0) | 2025.05.22 |
---|---|
[Java] 7. 상속 (4) - 10~11 (0) | 2025.05.22 |
[Java] 7. 상속 (1) - 1~4 (0) | 2025.05.20 |
[Java] 6. 클래스 (6) - singleton (0) | 2025.05.17 |
[Java] 6. 클래스 (5) - 13~15 (0) | 2025.05.14 |