개발/EffectiveJava

ITEM15 클래스와 멤버의 접근권한을 최소화 하라.

Leedo1982 2020. 3. 9. 17:34

모든 클래스와 멤버의 접근성을 가능한 한 좁혀야 한다는 것은,
소프트웨어가 올바로 동작하는 한 항상 가장 낮은 접근 수준을 부여해야 한다는 뜻이다.

멤버(필드, 메서드, 중첩 클래스, 중첩인터페이스)에 부여할 수 있는 접근 수준은 4가지다.

  • private : 멤버를 선언한 톱래벨 클래스에서만 접근할 수 있다.
  • package-private : 멤버가 소속된 패키지 안의 모든 클래스에서 접근할 수 있다. 접근 제한자를 명시하지 않았을때 적용되는 패키지 수준이다.(단, 인터페이스의 멤버는 기본적으로 public 이 적용된다.)
  • protected : package-private 의 접근 범위를 포함하며, 이 멤버를 선언한 클래스의 하위클래스에서도 접근 할 수 있다.
  • public : 모든곳에서 접근할 수 있다.