이펙티브 자바
-
[이펙티브 자바 3판 2장] 아이템3. private 생성자나 열거 타입으로 싱글턴임을 보증하라 - 싱글톤 만드는 방법책정리/이펙티브 자바 3판 2021. 2. 20. 17:02
private 생성자나 열거 타입으로 싱글턴임을 보증하라 싱글톤을 만드는 방법고 어떻게 만드는 것이 효율적일지 볼 수 있다. 싱글톤이란 인스턴스를 오직 하나만 생성할 수 있는 클래스이다. 싱글턴을 만드는 방식 생성자는 private 으로 감춰두고, 인스턴스에 접근할 수 있는 수단으로 public static 멤버를 만든다. 방법 1. public static 멤버가 FInal 필드인 방식 public class Single { public static final Single INTANCE = new Single(); private Single() { ... } public void 메소드동작() { ... } } 설명 : private 생성자는 PUBLIC Static final 필드인 Single.IN..
-
[이펙티브 자바 3판 2장] 아이템2. 생성자에 매개변수가 많다면 빌더를 고려하자책정리/이펙티브 자바 3판 2020. 7. 25. 18:05
점층적 생성자 패턴도 쓸 수는 있지만, 매개변수 개수가 많아지면 클라이언트 코드를 작성하거나 읽기 어렵다. setter 를 통해서 객체값 세팅(자바빈즈 패턴) 에서는 객체 하나를 만들기 위해 메서드를 여러 개 호출해야 하고, 객체가 완전히 생성되기 전까지는 일관성이 무너지게 된다. 자바빈즈 패턴에서는 클래스를 불변으로 만들 수 없다. 이러한 객체 불변과 점층적 생성자 패턴의 대안은 빌더 패턴이다. 빌더는 생성할 클래스 안에 정적 멤버 클래스로 만들어두는게 보통이다. // 코드 2-3 빌더 패턴 - 점층적 생성자 패턴과 자바빈즈 패턴의 장점만 취했다. (17~18쪽) public class NutritionFacts { private final int servingSize; private final int..