접근제한자1 [Java] public final vs private final 저는 불변하는 Value Object를 만들 때 field를 private final로 선언합니다. 불변 객체이기 때문에 필드를 변경할 수 없게 만들 뿐 아니라 외부에서의 직접 접근을 막기 때문에 안정성이 높다고 생각하기 때문입니다. 이때 자바를 공부하는 또 다른 사람이 만약 아래와 같은 이야기를 한다면 어떻게 답변을 할 수 있을까요? 불변임을 보장하기 위해서는 public final을 사용해도 충분하지 않나요? 오히려 getter를 만들지 말라는 중론에 더 부합하지 않을까요? 게다가 외부에서 변경하려 해도 컴파일 에러가 발생해서 불변도 보장되는데요? 아래 코드를 보면 정말 private final보다 명료한 것 같기도 하면서 불변성도 잘 보장해주고 있습니다. public class Member { pu.. 2022. 3. 2. 이전 1 다음