[kotlin] 코틀린 상속에서 부모 클래스의 생성자 호출하기

상속을 통해 새로운 클래스를 만들 때, 부모 클래스의 생성자를 호출해야 할 때가 있습니다. 이번 글에서는 Kotlin에서 부모 클래스의 생성자를 호출하는 방법에 대해 알아보겠습니다.

Kotlin에서는 super 키워드를 사용하여 부모 클래스의 생성자를 호출할 수 있습니다. super 키워드는 부모 클래스를 참조하는 특별한 키워드입니다.

아래는 부모 클래스 Person과 이를 상속받은 자식 클래스 Student의 예시입니다.

open class Person(val name: String) {
    init {
        println("Person init")
    }
}

class Student(name: String, val studentId: Int) : Person(name) {
    init {
        println("Student init")
    }
}

위의 코드에서 Student 클래스는 Person 클래스를 상속받고 있습니다. Student 클래스의 생성자에서 super(name)을 통해 부모 클래스의 생성자를 호출하고 있습니다.

super(name) 구문에서 nameStudent 클래스의 생성자 매개변수로 전달받은 값입니다. 이 값은 Person 클래스의 생성자로 전달되어 초기화됩니다.

이렇게 부모 클래스의 생성자를 호출하면 부모 클래스에서 정의된 초기화 코드가 실행되고, 자식 클래스의 초기화 코드가 실행됩니다. 결과적으로 Person initStudent init이 각각 출력됩니다.

이와 같은 방법으로 부모 클래스의 생성자를 호출하여 상속 관계에서 초기화 작업을 수행할 수 있습니다.