개요 프로젝트 내에 정적 메서드와 정적 필드만을 담은, 예를 들면 java.lang.Math나 java.util.Arrays 같은 클래스를 생성하고 싶을 수 있다. 이러한 유틸리티 클래스는 인스턴스로 만들어 사용하고자 하는 것이 아니지만, 생성자를 명시하지 않으면 컴파일러가 자동으로 매개변수가 없는 기본 생성자를 만들어주기 때문에 인스턴스화될 여지가 있다. 따라서 생성자를 private으로 선언해줌으로써 인스턴스화를 방지할 수 있다. 아이템 1에서 소개되었던 내용이기도 하다. 만약 클래스를 추상 클래스로 만든다면 인스턴스화되지 않기는 하지만, 이는 완벽하게 인스턴스화를 막는 방법이 아니다. 클래스를 상속해서 인스턴스화 하면 되기 때문이다. 그리고 이런 방법은 명시적인 설명이 없다면 오히려 상속해서 사용하..