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

Mr.Sir·2022년 5월 28일
0

Effective Java 스터디

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

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

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

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

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

profile
Deepveloper

0개의 댓글