반응형
접근 제어자
자바의 객체 지향에서는 클래스는 필드와 메소드를 가집니다.
클래스에서는 관련된 필드와 메소드를 정의해서 가지고 있는데 이것을 캡슐화라고 합니다.
이 중에는 외부에 노출시키지 않고 감추고 싶은 속성이 있는데 이것을 정보 은닉이라고 합니다.
이렇게 정의함으로써 사용자는 최소한의 정보만 이용하여 프로그램을 효율적으로 사용할 수 있습니다.
자바에서는 기본적으로 네 가지의 접근 제어자를 가지고 있습니다.
1. private - 같은 클래스에서만 접근 가능
2. public - 접근 제한이 없음
3. default - 같은 패키지내에서만 접근 가능
4. protected - 같은 패키지, 다른 패키지 상속받은 자손클래스에서 접근 가능
public > protected > default > private 순서를 기억해두자.
접근 제어자 | 같은 클래스 멤버 | 같은 패키지 멤버 | 자식 클래스 멤버 | 그 외의 영역 |
public | ○ | ○ | ○ | ○ |
protected | ○ | ○ | ○ | X |
default | ○ | ○ | X | X |
private | ○ | X | X | X |
반응형