객체지향임에도 불구하고 간혹 인스턴스를 생성하지 말라고 권장하는 케이스가 있습니다. 보통 static 한 메서드들만 가지고 있는 유틸성 클래스가 위 케이스에 해당합니다. 인스턴스화를 막는 방법은 아래와 같이 두 가지가 있습니다. private 생성자를 통해 인스턴스화 방지 abstract 클래스로 생성하여 인스턴스화 방지 이 방법은 상속을 통해 우회적으로 생성자를 호출할 수 있으므로 불완전한 방법 방법 1. private 생성자를 통해 인스턴스화 방지 public 혹은 protected 생성자 없이 private 생성자만 정의할 경우 같은 클래스 내 main 함수에서 호출하지 않는 이상 생성자를 호출할 수 없어 인스턴스화를 방지할 수 있습니다. 같은 클래스 내 main 함수에서도 호출하는 것을 방지하고 ..