본문 바로가기

develop/Java

접근 제한자(Access Modifier)

 

접근 제한자(Access Modifier)

 

클래스 내의 멤버에 접근 가능한 범위를 지정하는 키워드

넓 public - protected - default - private 좁

 

1. public : 누구나 (모든 클래스에서) 접근 가능

2. protected : 같은 패키지의 다른 클래스에서 접근 가능하며, 다른 패키지의 서브 클래스에서도 접근 가능

3. default : 같은 패키지의 다른 클래스에서 접근 가능(=접근 제한자를 생략 =default)

4. private : 자신의 클래스에서만 접근 가능 = 다른 클래스에서 접근 불가능

 

 

보통 상속관계에 있는 슈퍼클래스 멤버는 참조변수 없이 접근 가능하나

참조변수를 통해 접근하는 경우 상속관계가 아닌 일반적인 포함관계로 접근하게 되어

접근 범위가 달라지게 된다.

 

참조변수 없이 접근 => public, protected 만 가능

참조변수 통해 접근 => public 만 가능

 

 

다른 패키지의 클래스에 접근하기 위해서는 해당 클래스가 public 접근제한자로 선언되어야 한다.

즉, 특정 java 파일 내에 추가로 생성된 클래스는 default 접근제한자가 적용되어 다른 패키지에서 접근이 불가능!!

'develop > Java' 카테고리의 다른 글

생성자 super  (0) 2021.03.06
메서드 오버라이딩(Method Overriding)  (0) 2021.03.03
상속(Inheritance)  (0) 2021.03.01
싱글톤 디자인 패턴(Singleton Design Pattern)  (0) 2021.03.01
static 메서드  (0) 2021.02.23