[kotlin] 코틀린 빌더 패턴을 활용한 데이터 유효성 검사 방법
데이터의 유효성을 검사하는 것은 애플리케이션 개발에서 중요한 부분입니다. 코틀린은 자체적으로 데이터 유효성을 검사하기 위한 강력한 도구를 제공합니다. 그 중에서도 빌더 패턴을 활용하면 데이터 유효성 검사를 쉽고 간편하게 구현할 수 있습니다.
빌더 패턴이란?
빌더 패턴은 객체 생성 과정을 캡슐화하여 객체의 생성을 쉽게 만들어주는 디자인 패턴입니다. 빌더 패턴을 사용하면 객체의 생성과 유효성 검사를 분리하여 코드를 더욱 깔끔하고 유지보수하기 쉽게 만들 수 있습니다.
코틀린 빌더 패턴 예제
class UserBuilder {
private var name: String? = null
private var age: Int? = null
private var email: String? = null
fun name(name: String): UserBuilder {
this.name = name
return this
}
fun age(age: Int): UserBuilder {
this.age = age
return this
}
fun email(email: String): UserBuilder {
this.email = email
return this
}
fun build(): User {
// 데이터 유효성 검사
if (name.isNullOrEmpty()) {
throw IllegalStateException("이름은 필수 항목입니다.")
}
if (age == null || age < 0) {
throw IllegalStateException("나이는 0 이상이어야 합니다.")
}
if (email.isNullOrEmpty()) {
throw IllegalStateException("이메일은 필수 항목입니다.")
}
return User(name!!, age!!, email!!)
}
}
class User(private val name: String, private val age: Int, private val email: String)
fun main() {
val user = UserBuilder()
.name("John Doe")
.age(25)
.email("john.doe@example.com")
.build()
println("이름: ${user.name}")
println("나이: ${user.age}")
println("이메일: ${user.email}")
}
위 예제에서는 UserBuilder
클래스를 통해 유저 객체를 생성하고 있습니다. UserBuilder
클래스에는 유저 객체의 필수 속성인 이름, 나이, 이메일을 설정하는 메서드들이 있습니다. build
메서드에서는 데이터의 유효성을 검사하고 유저 객체를 리턴합니다.
사용 예시로써 UserBuilder
를 이용해 유저 객체를 생성하고 이름, 나이, 이메일을 출력하는 코드가 있습니다.
결론
코틀린의 빌더 패턴은 데이터 유효성 검사를 쉽고 간편하게 할 수 있게 도와줍니다. 유지보수하기 쉬운 코드를 작성하는데 도움이 되며, 객체 생성 과정을 캡슐화하여 코드의 가독성과 재사용성을 높일 수 있습니다.