[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)
구문에서 name
은 Student
클래스의 생성자 매개변수로 전달받은 값입니다. 이 값은 Person
클래스의 생성자로 전달되어 초기화됩니다.
이렇게 부모 클래스의 생성자를 호출하면 부모 클래스에서 정의된 초기화 코드가 실행되고, 자식 클래스의 초기화 코드가 실행됩니다. 결과적으로 Person init
과 Student init
이 각각 출력됩니다.
이와 같은 방법으로 부모 클래스의 생성자를 호출하여 상속 관계에서 초기화 작업을 수행할 수 있습니다.