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를 선언하면 된다
'학습 > Kotlin' 카테고리의 다른 글
Class(클래스 구조, 생성자) (0) | 2023.02.25 |
---|---|
Nullable & NonNull (0) | 2023.02.24 |
반복문 (0) | 2023.02.23 |
Array & List (0) | 2023.02.22 |
Expression VS Statement (0) | 2023.02.21 |