본문 바로가기
언어/java

[Java] 7. 상속 (2) - 5~6

by 젼젼39 2025. 5. 20.

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