프로그래밍 노트/Effective 시리즈

규칙4. 객체 생성을 막을 때는 private 생성자를 사용하라

깡냉쓰 2018. 11. 29. 19:55
728x90
반응형

객체 생성을 막을 때는 private 생성자를 사용하라


때로 정적 메서드나 필드만 모은 클래스를 만들고 싶을 때가 있다.

자바의 기본 자료형 값(primitive value) 또는 배열에 적용되는 메서드를 한군데 모아둘 때 유용하다. (java.lang.Math 나 java.lang.Array)
특정 인터페이스를 구현하는 객체를 만드는 팩터리 메서드 등의 정적 메서드를 모아놓을 때도 사용할 수 있다. (java.util.Collections)

이런 유틸리티 클래스(utility class)들은 객체를 만들 목적의 클래스가 아니기 때문에 private 생성자를 클래스에 넣어 객체 생성을 방지해야 한다.
(생성자를 생략하면 컴파일러는 자동으로 인자 없는 기본 생성자를 생성한다.)


728x90
반응형