아이템 4 - 인스턴스화를 막으려거든 private 생성자를 이용하라
JAVA ·정적 메서드만 담은 유틸리티 클래스 인스턴스를 만들어 쓰려고 설계한 클래스가 아니다.
- 그러니 private 생성자를 만들어라
추상 클래스로 만드는 것으로는 인스턴스화를 막을 수 없다.
- 하위 클래스 생성시 추상 클래스의 생성자(public)가 호출된다.
private 생성자를 추가하면 클래스의 인스턴스화를 막을 수 있다.
- 같은 클래스 내에서도 막으려면 private 생성자 안에서 AssertionError을 던져라.
생성자에 주석으로 인스턴스화 불가한 이유를 설명하는 것이 좋다.
상속을 방지할 때도 같은 방법을 사용할 수 있다.