[Item04] 인스턴스화 방지, setter 막아두기 과연 옳은가
프로젝트를 진행하다 보면 문자열, 숫자 상수만을 담은 Constant 클래스를 작성할 때가 종종 있다 다양한 클래스에서 사용할 수 있는 Utility 클래스도 마찬가지다 두 클래스의 목적은 특정 클래스에 속하지 않으면서 프로젝트 전체에서 유용하게 사용할 수 있는 코드를 일반화하는 것이다 상수 클래스의 경우 public static final로 한 번만 초기화된 상태로 변경할 수 없도록 해두고 유틸리티 클래스의 경우 public static 으로 접근을 허용하며 메서드를 가진 클래스의 인스턴스화 없이도 사용하게 한다 따라서 두 클래스 모두 인스턴스화될 필요가 없으니 생성자를 private으로 두어 상속 / 인스턴스화를 할 수 없게 해야 한다 사실 상수, 유틸리티 클래스는 인스턴스화 될 필요가 없고 되면 낭..
Java/Effective Java
2022. 2. 5. 13:07