프로그래밍/JAVA
[JAVA] 접근지정자(Access Specfier)
노력의천재
2020. 7. 26. 02:08
자바의 4가지 접근 지정자
접근 지정자(Access Specifier)는 클래스나 멤버들을 다른 클래스에서 접근해도 되는지의 여부를 선언하는 지시어
자바에는 private, protected, public, default 4가지 접근 지정자가 존재
클래스 접근 지정
다른 클래스에서 이 클래스를 활용할 수 있는지 허용 여부를 지정하는 것
public 클래스
클래스 이름 앞에 public으로 선언된 클래스
패키지에 상관없이 다른 어떤 클래스에게도 사용이 허용
// public 클래스
public class Public {
..........
}
default 클래스
접근 지정자 없이 클래스를 선언한 경우 default로 접근 지정됨
같은 패키지 내의 클래스들에게만 사용이 허용
// default 클래스
class Default {
..........
}
다음과 같이 클래스가 있다고 가정
클래스 A에서 public 클래스 B와 default C에 접근했을 때 결과
클래스 A에서 default로 접근 지정된 C 클래스에 접근할 수 없는 것을 확인
따라서 그 클래스 내의 멤버에도 접근할 수 없음
멤버 접근 지정
private -> default -> protected -> public 순으로 공개의 범위가 넓어짐
멤버에 접근하는 클래스 |
멤버의 접근 지정자 |
|||
private |
default |
protected |
public |
|
같은 패키지의 클래스 |
X |
O |
O |
O |
다른 패키지의 클래스 |
X |
X |
X |
O |
접근 가능 영역 |
클래스 내 |
동일 패키지 내 |
동일 패키지와 |
모든 클래스 |
출처 : http://www.yes24.com/Product/Goods/61269276