[개발일지] 230529 인스턴스화를 막기 위해 private 생성자를 사용하자
·
성장이야기/TIL
오늘 새로 배운 내용 이펙티브 자바 아이템 4를 읽던 중 처음 알게 된 사실이 있다. 자바 클래스에 생성자를 명시해주지 않을경우에 컴파일러가 자동으로 매개변수를 받지 않는 public 기본 생성자를 만들어 준다는 사실을 전혀 모르고 있었다. public 한 기본 생성자가 있을 경우 의도치 않게 클래스가 인스턴스화될 가능성이 존재한다. 문제가 되는건 인스턴스로 만들어 쓰려고 설계한 클래스가 아닌데 인스턴스화가 되면 안 되기 때문에 인스턴스화를 막아야 한다. 인스턴스화할 필요가 없는 클래스들이 존재하는데 (예를 들어 java.lang.Math나 java.util.Array처럼 기본 타입값이나 배열 관련 메서드만 모아놓은 클래스들) 이러한 클래스들은 private 생성자를 추가해 인스턴스화를 막고 있다. 컴파..