YSHUSH

보조 생성자 본문

Coding/Kotlin

보조 생성자

코딩; 2022. 1. 26. 07:41
class Base(val id:String, val pwd:String, val age:Int){ // -> 기본생성자

    constructor(id:String, pwd:String) : this(id, pwd, 22){ // -> 보조 생성자
        println("constructor($id:String, $pwd:String, $age:Int)")
    }
    constructor(id:String) : this(id, "1004", 22){ // -> 보조 생성자
        println("constructor($id:String, $pwd:String, $age:Int)")
    }
    override fun toString(): String {
        return "Base(id='$id', pwd='$pwd', age=$age)"
    }
}

중복된 생성자가 있을 수 없기 오버라이드 개념으로 보조 생성자를 쓰면 된다.

 

함수 호출부

fun main(args: Array<String>) {

    val base1 = Base("abc", "123", 24)
    println(base.toString())

    val base2 = Base("bcd", "234")
    println(base2.toString())
    
}

 

 

참고 - 자바의 보조 생성자(코틀린에서 사용 불가)

class Base{
    String id
    String pwd
    Base(){
        id = ""
        pwd = ""
    }
    Base(String id, String pwd){
        this()
        this.id = id
        this.pwd = pwd
    }
}

 

'Coding > Kotlin' 카테고리의 다른 글

Lazy  (0) 2022.01.26
Getter & Setter  (0) 2022.01.26
접근지정자  (0) 2022.01.26
클래스  (0) 2022.01.26
함수 파라미터  (0) 2022.01.26