■ 접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다.
■ 클래스 및 클래스의 구성 멤버에 대한 접근을 제한하는 역할
- 다른 패키지에서 클래스를 사용하지 못 하도록 (클래스 제한)
- 클래스로부터 객체를 생성하지 못 하도록 (생서앚 제한)
- 특정 필드와 메서드를 숨김 처리 (필드와 메서드 제한)
▶ 클래스의 접근 제한
default
public
▶생성자 접근 제한
- 생성자가 가지는 접근 제한에 따라 호출 여부 결정
▶ 필드와 메서드의 접근 제한
- 클래스 내부, 패키지 내, 패키지 상호간에 사용할 지 고려해 선언
▲ 클래스 public, protected, default, private 에 대해서 모두 출력을 진행해보았습니다.
▲ 모두 사용 가능한 public은 문제 없이 출력이 되었으나, 그외에 protected, default, private 은 접근제한에 의해 출력이 되지 않는 모습을 발견할 수 있습니다.
JAVA의 제어자에서 숙지하고 넘어가야 하는 것을 다시 한번 숙지하면 좋을 거 같습니다!(숙지하고, 또 숙지할 것)
public 은 접근할 수 없는 클래스가 없이 접근을 제한하지 않는다.
protected은 같은 패키지만 허용하나, 상속을 받은 경우 다른 패키지에서도 사용 가능하다.
default는 같은 패키지에서 사용 가능하다.
private는 해당 클래스에서만 사용 가능하다.