Access modifier 접근 제어자
- 필요 없는 정보를 사용자로부터 숨기기 위한 기능 (정보 은닉)
public 접근 제어자
- 외부로 공개 된다.
- 어디에서나 접근이 가능하다.
- public 메소드를 통해서만 private 멤버에 접근이 가능하다.
- 사용자와 프로그램과의 인터페이스 구축을 위해 사용
protected 접근 제어자
- 같은 패키지에 속한 클래스에서 접근 가능
- 다른 패키지에 속하는 자식 클래스에서 접근 가능
default 접근 제어
- 접근 제어자가 지정되지 않으면 default 접근 제어로 지정
- 접근 제어자는 따로 없음
- 같은 패키지에 속한 클래스에서 접근 가능
private 접근 제어자
- 외부에 공개 되지 않는다.
- 외부에서 직접 접근이 불가능하다.
- 해당 객체의 public 메소드를 통해서만 접근 가능하다.
- 클래스 내부의 세부적인 동작을 구현할 때 사용한다.
- 정보 은닉을 위해 사용
접근 제어자의 접근 범위 순서
💡 public > protected > default > private
접근 제어자 | 같은 클래스 | 같은 패키지 | 자식 클래스 | 그 외의 영역 |
---|
public | ⭕ | ⭕ | ⭕ | ⭕ |
protected | ⭕ | ⭕ | ⭕ | ❌ |
default | ⭕ | ⭕ | ❌ | ❌ |
private | ⭕ | ❌ | ❌ | ❌ |