develop/Java
접근 제한자(Access Modifier)
마스카포네치즈
2021. 3. 1. 18:07
접근 제한자(Access Modifier)
클래스 내의 멤버에 접근 가능한 범위를 지정하는 키워드
넓 public - protected - default - private 좁
1. public : 누구나 (모든 클래스에서) 접근 가능
2. protected : 같은 패키지의 다른 클래스에서 접근 가능하며, 다른 패키지의 서브 클래스에서도 접근 가능
3. default : 같은 패키지의 다른 클래스에서 접근 가능(=접근 제한자를 생략 =default)
4. private : 자신의 클래스에서만 접근 가능 = 다른 클래스에서 접근 불가능
보통 상속관계에 있는 슈퍼클래스 멤버는 참조변수 없이 접근 가능하나
참조변수를 통해 접근하는 경우 상속관계가 아닌 일반적인 포함관계로 접근하게 되어
접근 범위가 달라지게 된다.
참조변수 없이 접근 => public, protected 만 가능
참조변수 통해 접근 => public 만 가능
다른 패키지의 클래스에 접근하기 위해서는 해당 클래스가 public 접근제한자로 선언되어야 한다.
즉, 특정 java 파일 내에 추가로 생성된 클래스는 default 접근제한자가 적용되어 다른 패키지에서 접근이 불가능!!