-
item4) 인스턴스화를 막으려거든 private 생성자를 사용하라책/이펙티브 자바 3e 2022. 2. 24. 00:04
정적 메서드와 정적 필드만을 담은 클래스를 만들고 싶을 때가 있음
이럴땐 private 생성자를 추가하면 클래스의 인스턴스화를 막을 수 있음
//기본 생성자가 만들어지는 것을 막음(인스턴스화 방지용) private CLASS_NAME() { throw new AssertionError(); }
혹시 클래스 내부에서 생성자가 호출 될 수 있으니 Assertion Error를 던지는 것도 좋은 방법
생성자가 존재하는데 호출할 순 없는것이 직관적이지 않으니 주석을 다는게 좋음
'책 > 이펙티브 자바 3e' 카테고리의 다른 글
아이템17) 변경 가능성을 최소화하라 (0) 2022.03.05 아이템 16) public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라 (0) 2022.03.05 아이템 22) 인터페이스는 타입을 정의하는 용도로만 사용하라 (0) 2022.03.03 아이템 15) 클래스와 멤버의 접근 권한을 최소화하라 (p96-101) (0) 2022.03.01