언어/Kotlin

코틀린 상속

김어찐 2022. 5. 24. 14:53
728x90

부모 클래스는 open 붙여줘야한다.

package inherit

fun main() {
    val subClass1 = SubClass1()
    println("subClass1 = ${subClass1.subMember1}")
    subClass1.subMember1()
    println("subClass1.superMember1 = ${subClass1.superMember1}")
    subClass1.superMethod1()
    val subClass2 = SubClass2()
    var subClass3 = SubClass3(1)
}

open class SuperClass1 {
    var superMember1 = 100
    fun superMethod1() {
        println("supercalss1 의 메소드 입니다.")
    }
}

class SubClass1 : SuperClass1() {
    val subMember1 = 200;

    fun subMember1() {
        println("SubClass1의 메소드 입니다.")
    }
}

open class SuperClass2(val a1:Int)

class SubClass2 : SuperClass2(100)

class SubClass3 : SuperClass2 {
    constructor(a1:Int) : super(a1){
        
    }

}
728x90