이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
빌더 패턴은 명확한 구문으로 복잡한 개체를 구성할 수 있는 생성 디자인 패턴입니다. Factory Method 패턴과 함께 자주 사용됩니다.
빌더 패턴은 다양한 필드가 있는 복잡한 개체를 만들어야 할 때 좋은 선택입니다. 빌더 패턴을 사용하면 많은 코드를 작성하지 않고도 이러한 개체를 단계별로 만들 수 있습니다.
Kotlin에서 Builder 패턴은 종종 데이터 클래스를 만드는 데 사용됩니다. 데이터 클래스는 동작 없이 데이터만 포함하는 클래스입니다. 파일이나 데이터베이스에서 읽은 데이터를 저장하는 데 자주 사용됩니다.
데이터 클래스는 일반적으로 data class 키워드를 사용하여 생성됩니다. 그러나 필드가 많은 데이터 클래스를 만들어야 하는 경우 데이터 클래스 키워드가 매우 장황해질 수 있습니다. 이러한 경우 빌더 패턴을 사용하여 데이터 클래스를 만들 수 있습니다.
빌더 패턴은 불변 객체를 생성해야 할 때도 유용합니다. 불변 객체는 생성된 후에 수정할 수 없는 객체입니다. 구성 데이터와 같이 변경해서는 안 되는 데이터를 저장하는 데 자주 사용됩니다.
Kotlin 표준 라이브러리에는 불변 객체를 생성하는 데 유용한 여러 함수가 포함되어 있습니다. 예를 들어 toImmutableList() 함수를 사용하여 변경 가능한 목록에서 변경 불가능한 목록을 만들 수 있습니다.
빌더 패턴을 사용하려면 여러 필드를 포함하는 클래스를 만들어야 합니다. 이 필드는 빌더가 설정합니다. 또한 클래스는 빌더를 인수로 사용하는 생성자를 포함해야 합니다.
빌더는 개체의 필드를 설정하기 위한 메서드를 포함하는 별도의 클래스입니다. 작성기에는 개체를 만드는 방법도 있습니다. 이 메서드는 설정된 모든 필드를 가져와 개체의 인스턴스를 만듭니다.
다음은 빌더 패턴을 사용하는 데이터 클래스의 예입니다.
데이터 클래스 사용자(
값 이름: 문자열,
유효 기간: Int,
값 주소: 문자열
) {
클래스 빌더 {
변수 이름: 문자열 = ""
변수 나이: Int = 0
변수 주소: 문자열 = ""
재미있는 빌드(): 사용자 {
사용자(이름, 나이, 주소) 반환
}
}
}
보시다시피 User 클래스에는 세 개의 필드가 있습니다. 이러한 필드는 빌더가 설정합니다. 이 클래스에는 빌더를 인수로 사용하는 생성자도 포함되어 있습니다.
빌더는 개체의 필드를 설정하기 위한 메서드를 포함하는 별도의 클래스입니다. 작성기에는 개체를 만드는 방법도 있습니다. 이 메서드는 설정된 모든 필드를 가져와 개체의 인스턴스를 만듭니다.
빌더 패턴을 사용하려면 먼저 빌더를 생성해야 합니다. builder() 함수를 사용하여 이를 수행할 수 있습니다.
발 사용자 = User.Builder().apply {
이름 = "존"
나이 = 30
주소 = "런던"
}.짓다()
builder() 함수는 새 빌더 객체를 생성합니다. apply() 함수는 빌더 객체의 메서드를 호출하는 데 사용됩니다. 이 경우 메서드는 User 개체의 필드를 설정하는 데 사용됩니다.
마지막으로 build() 메서드를 호출하여 User 개체를 만듭니다. 빌더에 의해 생성된 사용자 개체는 변경할 수 없습니다.
빌더 패턴은 명확한 구문으로 복잡한 개체를 만드는 데 유용한 방법입니다. 변경할 수 없는 개체를 만들어야 하는 경우에도 좋은 선택입니다.