앱 개발/Kotlin
Class(상속, 오버라이딩)
태기
2023. 2. 26. 00:12
1. 상속
상속 클래스 선언 형식은 다음과 같다
class [클래스명] : [상속받을 클래스명]() {}
이전 포스팅에서 생성했던 Human 클래스를 상속받는 Korean 객체를 작성해보자
open class Human(val name: String = "Anonymous") {
...
}
class Korean : Human() {}
상속을 받기 위해서는 상속받을 클래스 앞에 open을 선언해야 한다
자바와 같이 상속은 1개만 받을 수 있다
2. 오버라이딩
open class Human(val name: String = "Anonymous") {
...
open fun singASong() {
println("lalala")
}
}
class Korean : Human() {
override fun singASong(){
println("라라라")
}
}
fun main() {
val korean = Korean()
korean.singASong()
}
오버라이딩도 마찬가지로 부모 클래스의 해당 메서드에 open을 선언해줘야 한다
override fun singASong(){
super.singASong()
println("라라라")
}
부모클래스의 메서드도 실행되도록 하기 위해서는 super를 선언하면 된다