아이템4. 인스턴스화를 막으려거든 private 생성자를 사용하라 정적 멤버만 담은 유틸리티 클래스는 인스턴스로 만들어 쓰려고 설계한 게 아니다. 하지만 생성자를 명시하지 않으면 컴파일러가 자동으로 기본 생성자를 만들어준다. 추상 클래스로 만드는 것으로는 인스턴스화를 막을 수 없다. 컴파일러가 기본 생성자를 만드는 경우는 오직 명시된 생성자가 없을 뿐이니 private 생성자를 추가하면 클래스의 인스턴스화를 막을 수 있다. //인스턴스를 만들 수 없는 유틸리티 클래스 public class UtilityClass{ //기본 생성자가 만들어지는 것을 막는다 (인스턴스화 방지용) private UtilityClass(){ throw new AssertionError(); } } 명시적 생성자가 private..