[Effective Java 3rd] 아이템4 - 인스턴스화를 막으려거든 private생성자를 사용하라.

Mr.Sir·2022년 5월 28일

Effective Java 스터디

이따금 단순히 정적 메서드와 정적 필드만을 담은 클래스를 만들 경우.

의도치 않은 인스턴스 생성을 막아보자.(자동생성되는 매개변수 없는 public생성자)

public class UtilityClass {
          // 기본 생성자가 만들어지는 것을 막는다.(인스턴스화 방지용)
          private UtilityClass () {
                    throw new AssertionError();
          }
          ... // 생략..
}

명시적 생성자가 private이니 클래스 바깥에서는 접근할 수 없다.

그런데..
생성자가 분명 존재하는데 호출할 수는 없어 직관적이지 않다.
적절한 주석이 필요함.

profile
Deepveloper

0개의 댓글