Item4
인스턴스화를 막으려거든 private 생성자를 사용하라
1 개요
- 정적 멤버만 담은 유틸리티 클래스는 인스턴스로 만들어 사용하려고 설계한 것이 아니다.
- 유틸리티 클래스의 인스턴스화를 막으려면 어떻게 해야할까?
1.1 유틸리티 클래스
- 정적 메서드와 정적 필드만을 담은 클래스
java.lang.Math
public final class Math {
/**
* Don't let anyone instantiate this class.
*/
private Math() {}
public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;
// ...
public static int max(int a, int b) {
return (a >= b) ? a : b;
}
}