4. 인스턴스화를 막으려거든 private 생성자를 사용하라

신명철·2022년 2월 9일
0

Effective Java

목록 보기
4/80

private 생성자의 필요성

아주 가끔, 정적 필드와 정적 메서드로만 구성된 클래스를 만들고 싶은 경우가 있을 것이다.

물론, 객체 지향적인 사고에는 맞지 않지만 나름의 쓰임새가 있다.

객체 생성자를 명시하지 않으면 컴파일러가 자동으로 public 의 매개변수를 받지 않는 기본 생성자를 만들어주기 때문에 이를 막을 필요가 있다.

객체 생성자를 private 으로 만들어 간단하게 이를 막을 수 있다.

public class A{
	private A(
    	throw new AssertionError();
    );
}
  • AssertionError 는 클래스 내에서 생성자를 호출했을 경우를 대비한 예외 처리이다.
profile
내 머릿속 지우개

0개의 댓글