Item 2. Builder
๋น๋๋ฅผ ์ฌ์ฉํ์ง ์์ ์์
์ ํต์ ์ธ ์ ์ธต์ ์์ฑ์ ํจํด(telescoping constructor pattern)
class NutritionFacts {
private final int servingSize;
private final int servings;
private final int calories;
private final int fat;
private final int sodium;
private final int carbohydrate;
public NutritionFacts(int servingSize, int servings) {
this(servingSize, servings, 0);
}
public NutritionFacts(int servingSize, int servings, int calories) {
this(servingSize, servings, calories, 0);
}
// ... parameters increase...
public NutritionFacts(int servingSize, int servings, int calories, int fat, int sodium, int carbohydrate) {
this.servingSize = servingSize;
this.servings = servings;
this.calories = calories;
this.fat = fat;
this.sodium = sodium;
this.carbohydrate = carbohydrate;
}
}
class Example {
public static void main(String[] args) {
NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 0, 35, 27);
}
}์๋ฐ ๋น์ฆ(JavaBeans)
๋น๋ ํจํด
๋น๋ ํจํด์ ๋จ์
Lombok @Builder
Last updated