[kotlin] 빌더 디자인 패턴을 활용한 객체 생성 방법

빌더 디자인 패턴은 불변성(immutability)을 제공하고, 객체 생성 시 복잡한 로직을 숨기는 데 유용합니다. 또한 여러 가지 옵션이 있는 객체를 생성할 때 매우 효과적입니다.

코틀린에서 빌더 디자인 패턴을 활용하는 방법은 다음과 같습니다.

  1. 데이터 클래스: 먼저 빌더 패턴을 사용할 데이터 클래스를 만듭니다.
    data class User(val name: String, val age: Int, val email: String)
    
  2. 빌더 클래스 생성: 다음으로 빌더 클래스를 생성합니다.
    class UserBuilder {
         var name: String = ""
         var age: Int = 0
         var email: String = ""
    
         fun build(): User {
             return User(name, age, email)
         }
     }
    
  3. 빌더 함수 생성: 빌더 함수를 사용하여 객체를 만듭니다.
    fun user(block: UserBuilder.() -> Unit): User {
         val builder = UserBuilder()
         builder.block()
         return builder.build()
     }
    
  4. 객체 생성: 이제 이 빌더 함수를 사용하여 객체를 생성할 수 있습니다.
    val newUser = user {
         name = "John"
         age = 25
         email = "john@example.com" 
     }
    

이와 같은 방법으로 빌더 디자인 패턴을 활용하여 객체를 생성할 수 있습니다.