생성자에 private 접근제어자를 사용하여 인스턴스화를 막자!
정적 멤버만을 가진클래스는 생성 목적이 인스턴스화는 아니다.
따라서 생성자를 따로 생성하지 않으면 디폴트 생성자가 생긴다는 점을 잊지 말자!
정적멤버만을 가지는 클래스 : java.lang.Math java.util.Arrays
public class UtilityClass {
private UtilityClass() {
}
}
단, 이 방법은 상속을 불가능 하게한다.
모든 생성자는 상위 클래스의 생성자를 호출하는데 생성자를 private으로 선언했으니 하위 클래스에서 상위 클래스로 접근할 길이 없다.
References
|
'Java > Java' 카테고리의 다른 글
(JAVA) JVM 구조 (0) | 2019.12.21 |
---|---|
(JAVA) 자바, JVM, JDK 그리고 JRE (0) | 2019.12.21 |
(Effective Java) 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라 (0) | 2019.12.15 |
(JAVA) 템플릿 메서드 패턴 / 팩토리 메서드 패턴 (0) | 2019.12.09 |
(JAVA) 생성자에 매개변수가 많다면 빌더를 고려하라 (0) | 2019.12.08 |