공부/JAVA

이펙티브 자바 4장 규칙14. public 클래스 안에는 public 필드를 두지 말고 접근자 메서드를 사용하라

미네밍 2021. 3. 14. 17:25

Public 클래스의 경우

선언된 패키지 밖에서도 사용가능한 클래스에는 접근자 메서드를 제공하라.

그래야만 클래스 내부 표현을 자유로이 수정 가능하게 됌

 

하지만, immutable 필드의 경우 필드를 외부로 공개한다고 해도 심각성이 좀 덜할 순 있음

그래도 그럴 필요가 있는지는 의문

 

Package-Private 클래스나 private중첩 클래스의 경우

데이터 필드를 공개하더라도 잘못은 아님. 되려 더 깔끔한 코드가 될 수도 있음.

 

 

결론적으로, 되도록 필드를 외부로 공개하는 행위는 하지 않는 것이 좋다는 것.