본문 바로가기

java

객체의 가시성 수정자는 어떻게 작동하는가?

 - 가시성 수정자(visibility modifier) 는 클래스의 캡슐화된 상태와 인스턴스 행동을 조정하는 메서드의 접근을 제어하는 역할.

 -

 

가시성 

수정자 

범위 

Least 

 private

 같은 클래스의 모든 인스턴스 접근가능

하위 클래스 접근 불가능

 <none>

 같은 패키지의 모든 클래스에서 접근 가능

 protected

 모든 하위 클래스에서 접근 가능

 Most public어디서든 접근가능 

 

 

 - pirvate의 일반적이 ㄴ오해는 private으로 선언한 변수는 해당 인스턴스에만 접근할 수 있다고 생각하는 것.

 - 실제로 같은 타입의 다른 모든 인스턴스가 private 멤버 변수에 접근할 수 있다.

 - 책 8-7 코드는 같은 타입이지만 다른 인스턴스에서 private 멤버 변수에 접근하는 두 가지 경우를 보여주는 예다.