스터디/이펙티브 자바
[Effective Java] Item16. public클래스에서는 접근자 메서드 사용
niniz
2022. 5. 29. 00:50
public 클래스는 모든 필드를 private으로 하고 접근자를 제공하는 것이 좋습니다.
public class Member {
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
자바 플랫폼 라이브러리에는 이 규칙을 어기는 사례가 있습니다.
불변 필드라도 완전히 안전할 수 없으므로 public 클래스는 무조건 필드를 직접 노출하지 않는 것이 좋습니다.
하지만 default 클래스 혹은 private 중첩 클래스라면 필드를 노출해도 문제는 없습니다. 오히려 노출하는 편이 나을 때도 있습니다.(깔끔)
반응형