티스토리 뷰

반응형
이펙티브 자바 Effective Java 2/E
국내도서
저자 : 조슈아 블로크(Joshua Bloch) / 이병준역
출판 : 인사이트 2014.09.01
상세보기



java.lang.Math, java.util.Arrays, java.util.Collections 같은 유틸리티 클래스(utility class)들은 객체를 만들 목적의 클래스가 아니다.

private 생성자를 이용한 객체 생성 방지

public class UtilityClass {
  // 기본 생성자가 자동 생성되지 못하도록 하여 객체 생성 
  private UtilityClass() {
    throw new AssertionError();
  }
}
  • AssertionError는 반드시 필요한 것은 아니지만, 클래스 안에서 실수로 생성자를 호출하면 바로 알 수 있게 하기 위한 것.
  • 생성자를 명시적으로 정의했으나 직관적이진 않으니 위 처럼 주석을 달아 두는 것이 바람직하다.
  • 호출 가능한 생성자가 없기 때문에 하위 클래스도 만들 수 없다.


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함