본문 바로가기
Java & Kotlin/Effective Java

[Effective Java 3/E] Item 4. private 생성자

by kiwi_wiki 2021. 1. 10.

인스턴스화를 막으려면 private 생성자를 사용해야 한다.

추상 클래스로 만드는 것으로는 하위 클래스를 만들어 인스턴스화 하면 되기때문에 인스턴스화를 막을 수 없다.

 

public class UtilityClass {
	private UtilityClass() {
    	throw nes AssertionError();
    }
}

 

모든 생성자는 명시적이든 묵시적이든 상위 클래스의 생성자를 호출하게 되는데, 이를 private 으로 선언 했기 때문에 상속을 불가능 하게 한다. 

728x90
반응형