접근 제어자(access modifier)는 한 번에 네 가지 중 하나만 선택할 수 있다. 클래스, 멤버변수, 메서드, 생성자에 사용되며, 해당하지 않는 외부에서의 접근을 막는다. 외부로부터 데이터를 보호하고(데이터가 유효한 값을 유지하고 외부에서 함부로 변경할 수 없도록), 내부에서만 사용되어 외부에는 불필요한 데이터를 감추기 위해 사용한다.
- private: 같은 클래스 내에서만 접근할 수 있다.
- default: 같은 패키지 내에서만 접근할 수 있다.
- protected: 같은 패키지 내 다른 패키지의 자식 클래스에서 접근할 수 있다.
- public: 모두 접근할 수 있다.
제어자 | 같은 클래스 | 같은 패키지 | 자식 클래스 | 전체 |
public | O | O | O | O |
protected | O | O | O | X |
(default) | O | O | X | X |
private | O | X | X | X |
※ 자바의 정석(남궁성)을 참고하여 작성한 글입니다. 참고자료에는 게시글보다 상세하고 정확한 설명이 기재되어 있습니다. 이 게시글에 문제가 되거나 부정확한 부분이 있다면 알려주시면 감사하겠습니다.
'Java' 카테고리의 다른 글
[Java] 제어자(modifier) (0) | 2024.01.22 |
---|---|
[Java] 오버로딩(overloading)과 오버라이딩(overriding) (0) | 2024.01.19 |
Thread safety (0) | 2024.01.17 |
자바의 실행 과정 (1) | 2023.12.11 |