자바의 접근 제어자
- public
- default
- protected
- private
public
- 자바에서 public 접근제어자는 패키지 무관하게 어디서든 누구나 접근 가능합니다.
default (package-private)
- defualt 접 근제어를 가지는 멤버는 같은 클래스 맴버와 패키지에 속하는 멤버만 접근이 가능합니다.
- 동일한 패키지에서만 접근이 가능해서 package-private 이라고도 합니다.
protected
- 이 멤버를 선언한 클래스의 맴버
- 이 멤버를 선언한 클래스가 속한 패키지 맴버
- 이 멤버를 선언한 클래스를 상속 받은 자식 클래스의 맴버만 접근이 가능합니다.
private
- 이 멤버가 속한 클래스 내에서만 접근이 가능합니다.
- 상속을 하더래도 자식클래스에서 접근이 불가능합니다.
- 외부로 부터 불필요한 접근을 막아 은닉화 캡슐화를 구현 가능합니다.
- 일반적으로 getter, setter 메서드를 제공하여 외부 필드에서 접근하도록 합니다.