본문 바로가기
언어/Kotlin

코틀린 생성자

by 김어찐 2022. 5. 24.
728x90

 

package constructor

fun main() {
    val obj1 = TestClass1()
    val obj2 = TestClass2()
    val obj3 = TestClass2(100, 200)
    val obj4 = TestClass3(1,2)
    val obj6 = TestClass5(1, 2)
    val obj7 = TestClass5(100)

}

class TestClass1 {
    init {
        println("객체 생성되면 자동으로 동작")
    }
}

class TestClass2 {
    var v1:Int = 0
    var v2:Int = 0

    constructor(){
        println("매개변수 없는 생성자")
    }

    constructor(v1: Int, v2: Int) {
        println("매개변수 2개 생성자")
        this.v1 = v1
        this.v2 = v2
    }
}
// 기본 생성자
class TestClass3 constructor(var a1:Int,val a2:Int) {

}
// TestClass3이랑 같음
class TestClass4(var a1:Int,val a2:Int) {

}

//var, val는 주 생성자에만 사용가능하며 보조 생성자는 사용 불가능
class TestClass5(var a1:Int,val a2:Int) {

    init {
        println("init 수행")
        println("a1 = ${a1}")
        println("a2 = ${a2}")
    }

    // 보조 생성자 사용할려면 무조건 주생성자를 호출해야한다.
    constructor(a1: Int) : this(a1, 100){
        println("보조 생성자 호출")
    }

}
728x90

'언어 > Kotlin' 카테고리의 다른 글

코틀린 property  (0) 2022.05.24
코틀린 상속  (0) 2022.05.24
코틀린 반복문  (0) 2022.05.24
코틀린 when  (0) 2022.05.24
코틀린 함수  (0) 2022.05.24