


Java의 Underbuilder란 무엇입니까?
언더빌더는 특정 유형에 대한 빌더의 기본 구현을 제공하는 클래스입니다. 즉, 특정 유형의 인스턴스를 빌드하는 빌더입니다.
예를 들어 'Car'라는 클래스가 있고 이에 대한 빌더를 제공하려고 한다고 가정해 보겠습니다. 다음과 같이 언더빌더를 정의할 수 있습니다:
```
class CarBuilder : Builder
// Car
속성의 기본값을 정의합니다. private var color: String = "red"
private var make: String = "toyota "
private var model: String = "corolla"
private var year: Int = 2015
// 속성을 설정하기 위해 호출할 수 있는 빌더 메서드 정의
fun withColor(color: String): CarBuilder {
this.color = color
return this
}
fun withMake(make: String): CarBuilder {
this.make = make
return this
}
fun withModel(model: String): CarBuilder {
this.model = model
return this
}
fun withYear(year: Int) : CarBuilder {
this.year = year
return this
}
// Car 인스턴스를 빌드하는 메서드 정의
override fun build(): Car {
return Car(color, make, model, year)
}
}
`` `
이 예에서 `CarBuilder` 클래스는 `Car` 클래스의 언더빌더입니다. 이는 'Car' 인스턴스를 생성하는 데 사용할 수 있는 빌더의 기본 구현을 제공합니다. `withColor`, `withMake`, `withModel` 및 `withYear` 메소드를 사용하면 `Car` 인스턴스의 속성을 설정할 수 있으며 `build` 메소드는 실제로 `Car` 인스턴스를 생성하는 데 사용됩니다.
Underbuilders는 특정 유형에 대한 빌더의 기본 구현을 제공하고 싶지만 다른 빌더가 해당 구현을 확장하거나 수정하도록 허용하려는 경우에 유용합니다. 예를 들어, 속성의 기본 구현을 제공하는 기본 빌더가 있을 수 있으며, 다른 빌더는 해당 기본 빌더를 확장하여 추가 속성을 추가하거나 기존 속성을 수정할 수 있습니다.



