접근 제어자가 사용될 수 있는 곳 - 클래스, 멤버변수, 메서드, 생성자
private | 같은 클래스 내에서만 접근이 가능하다. |
default | 같은 패키지 내에서만 접근이 가능하다. |
protected | 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. |
public | 접근 제한이 전혀 없다. |
제어자 | 같은 클래스 | 같은 패키지 | 자손클래스 | 전체 |
public | O | O | O | O |
protected | O | O | O | |
default | O | O | ||
private | O |
접근 범위가 넓은 쪽에서 좁은 쪽의 순으로 왼쪽부터 나열하면 다음과 같다.
public > protected > default > private
접근제어자가 있는 이유
캡슐화
- 외부로부터 데이터를 보호하기 위해서
- 내부에서만 사용되는 부분을 감추기 위해
- 결국 유지보수의 편의성이랄까
참조
Java의 정석(3rd)
'Java' 카테고리의 다른 글
Java String 정렬에 관하여 (0) | 2022.03.09 |
---|---|
(JAVA) String, String builder, String Buffer (0) | 2022.02.10 |
JAVA String에 관하여 (0) | 2021.07.12 |
프로그래머들에게 권장하는 JAVA 네이밍 규칙 (0) | 2021.07.12 |
JVM(Java Virtual Machine) (0) | 2021.07.12 |