[Effective Java] 인스턴스화를 막으려거든 private 생성자를 사용하라.


[Effective Java] 인스턴스화를 막으려거든 private 생성자를 사용하라.

인스턴스화를 막으려거든 private 생성자를 사용하라. - 단순히 정적 메서드와 정적 필드만을 담은 클래스를 만들고 사용할 때 -> Math, Arrays처럼 기본 타입 값이나 배열 관련 메서들 모아놓기 -> 특정 인터페이스를 구현하는 객체를 생성해 주는 정적 메서드 -> final 클래스와 관련한 메서드들을 모아놓을 때도 사용한다. - 정적 멤버만 담은 유틸리티 클래스는 인스턴스로 만들어 쓰려고 설계한 것이 아니다 그렇기에 생성자를 명시하지 않으면 컴파일러가 자동으로 기본 생성자를 만든다. 즉 public 생성자가 만들어진다. - 추상 클래스로 만드는 것으로는 인스턴스화를 막을 수 없다. -> 하위 클래스로 인스턴스화하면 된다. - 컴파일러가 기본 생성자를 만드는 경우는 명시된 생성자가 없을 때뿐이다. 그렇기에 private 생성자를 추가하면 클래스의 인스턴스화를 막을 수 있다. public class Practice { private Practice() { //인스턴스화 방지용...


#effectivejava #instance #java #private #생성자

원문링크 : [Effective Java] 인스턴스화를 막으려거든 private 생성자를 사용하라.