Language/Java

접근제한자

태윤2 2020. 6. 5. 00:21

- 특정 멤버에 대한 접근 범위를 제한하는 키워드

- 클래스, 메서드, 변수에 사용 가능

 

  1. public : 모든 클래스에서 접근 가능
  2. protected : 같은패키지 또는 패키지가 다르더라도 상속 관계인 서브클래스에서는 접근 가능
  3. default(package) : 같은 패키지 내에서 접근 가능 (접근제한자를 지정하지않으면 기본값으로 default 가 선언됨)
  4. private : 자신의 클래스에서만 접근 가능(외부클래스에서 접근 불가)
  • 주의! 상속관계에 있더라도 인스턴스를 생성하여 접근하게되면 상속관계의 접근이 아닌 일반 클래스 관계 취급됨
접근제한자 같은클래스 다른패키지 다른패키지
상속관계
전체
public O O O O
protected O O O X
default(package) O O X X
private O X X X