선언된 패키지 밖에서도 사용 가능한 클래스에는 접근자 메서드를 제공하라. 그래야 클래스 내부 표현을 자유로이 수정할 수 있게 된다.
하지만 package-private 클래스나 private 중첩 클래스는 데이터 필드를 공개하더라도 잘못이라 말할 수 없다. 클래스의 내용을 제대로 기술하기만 한다면, 접근자 메서드보다는 시각적으로 깔끔하다. private 중첩 클래스의 경우는, 그 클래스의 바깥 클래스 외부의 코드는 아무 영향도 받지 않을 것이기 떄문이다.
요약
'개발서적 > 이펙티브자바' 카테고리의 다른 글
[클래스와 인터페이스]규칙16. 계승하는 대신 구성하라 (0) | 2017.04.24 |
---|---|
[클래스와 인터페이스]규칙15. 변경 가능성을 최소화하 (0) | 2017.04.24 |
[클래스와 인터페이스]규칙13. 클래스와 멤버의 접근 권한은 최소화하라 (0) | 2017.04.22 |
[모든 객체의 공통 메서드]규칙12.Comparable 구현을 고려하라 (0) | 2017.04.20 |
[모든 객체의 공통 메서드]규칙11.clone을 재정의할 때는 신중하라 (0) | 2017.04.19 |