개발블로그

kotlin data class multiple constructor 본문

Kotlin

kotlin data class multiple constructor

개발자수니 2019. 12. 23. 15:12

kotlin의 data class는 기본적으로 constructor, getter, setter를 생성해준다. 

따라서 lombok library를 쓰는 것과 같이 루틴한 코드를 생략할 수 있다. 

 

이 때 생성되는 constructor 스펙은 data class에 정의한 모든 field를 주입받는 형태이다. 

기본 생성자 스펙 외의 다른 스펙의 생성자를 두고 싶다면 다음과 같이 정의한다. 

 

data class ResponseEntity<T>(
        val code : Int
        ,var message: String?
        ,var payload: T?){
    constructor(code: Int) : this(code, "", null)
    constructor(code: Int, message: String?) : this(code , message, null)
    constructor(code: Int, payload: T?) : this(code, "", payload)
}

별도 생성자를 정의하더라도 기본 생성자 스펙은 중복 정의하지 말아야 한다. (기본 생성자 스펙 정의시 에러난다)

 

 

 

Comments