Item 4 : 인스턴스화를 막으려거든 private 생성자를 사용하라
2021. 7. 3. 23:04
클래스를 생성할 때 생성자를 명시하지 않으면 자바는 자동으로 public 생성자를 생성한다.
그러나 만약 사용자가 특정 클래스의 인스턴스를 만드는 것을 원치 않는 다면
private으로 설정된 생성자를 사용하라는 의미이다.
의미 자체는 간단하다고 생각했지만 어떤 부분에서 응용될 수 있을 지 쉽게 아이디어가 떠오르지 않았다.
책에서는 java.lang.Math와 java.util.Arrays처럼 기본 타입 값이나
배열 관련 메서드들을 모아놓거나 java.util.Collections처럼 특정 인터페이스를
구현 하는 객체를 생성해주는 정적 메소드를 모아놓을때도 사용할 수 있다고 한다.
일단은 객체를 따로 생성하지 않은채 유틸리티 클래스로 사용하고 싶을 때
( 특정 기능들을 모아놓은 클래스라고 생각해야겠다.)
private 생성자를 사용한다고 이해해두어야 겠다.
'책 > 이펙티브자바' 카테고리의 다른 글
Item 6 : 불필요한 객체 생성을 피하라 (0) | 2021.07.06 |
---|---|
Item 5 : 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 (0) | 2021.07.04 |
Item 3 : private 생성자나 열거 타입(enum)으로 싱글톤임을 보증하라(with 직렬화) (0) | 2021.07.03 |
Item 2 : 생성자에 매개변수가 많다면 빌더를 고려하라(@Builder) (0) | 2021.07.02 |
Item 1 : 생성자 대신 정적 팩토리 메소드를 고려하라 (0) | 2021.07.01 |