모든 클래스와 멤버의 접근성을 가능한 한 좁혀야 한다는 것은,
소프트웨어가 올바로 동작하는 한 항상 가장 낮은 접근 수준을 부여해야 한다는 뜻이다.
멤버(필드, 메서드, 중첩 클래스, 중첩인터페이스)에 부여할 수 있는 접근 수준은 4가지다.
- private : 멤버를 선언한 톱래벨 클래스에서만 접근할 수 있다.
- package-private : 멤버가 소속된 패키지 안의 모든 클래스에서 접근할 수 있다. 접근 제한자를 명시하지 않았을때 적용되는 패키지 수준이다.(단, 인터페이스의 멤버는 기본적으로 public 이 적용된다.)
- protected : package-private 의 접근 범위를 포함하며, 이 멤버를 선언한 클래스의 하위클래스에서도 접근 할 수 있다.
- public : 모든곳에서 접근할 수 있다.
'개발 > EffectiveJava' 카테고리의 다른 글
ITEM19 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라. (0) | 2020.03.10 |
---|---|
ITEM18 상속보다는 컴포지션을 사용하라 (0) | 2020.03.10 |
ITEM17 변경가능성을 최소화하라 (0) | 2020.03.10 |
ITEM16 public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라. (0) | 2020.03.09 |
ITEM14 comparable 을 구현할지 고려하라 (0) | 2020.03.09 |