반응형
클래스 상속
Kotlin은 Default로 상속이 금지되어 있기 때문에 class 예약어 앞에 open을 사용해야함.
예제1
fun main(){
var a = Person("김민수",1996)
a.introduce()
var b = Dog("김민수",1996)
b.introduce()
b.bark()
}
open class Person (var name:String, var birthYear:Int){
fun introduce(){
println("안녕하세요. 저는${this.name}이고, ${this.birthYear}년에 태어났습니다.")
}
}
class Dog (name:String, birthYear:Int): Person(name, birthYear){
fun bark(){
println("술을 먹고 개가 되었습니다!")
}
}
예제1 결과
오버라이딩
오버라이딩을 허용할 함수 앞에 open 예약어를 사용해야 하며, 서브 클래스에서 override 예약어를 사용해야함.
예제2
fun main(){
var a = Person("김민수",1996)
a.introduce()
var b = Dog("김민수",1996)
b.introduce()
}
open class Person (var name:String, var birthYear:Int){
open fun introduce(){
println("안녕하세요. 저는${this.name}이고, ${this.birthYear}년에 태어났습니다.")
}
}
class Dog (name:String, birthYear:Int): Person(name, birthYear){
override fun introduce(){
println("술을 먹고 개가 되었습니다!")
}
}
예제2 결과
반응형
'Study > WEB' 카테고리의 다른 글
[Kotlin] 고차함수 (0) | 2022.01.05 |
---|---|
[Kotlin] 추상화 (abstract, interface) (0) | 2022.01.05 |
[Kotlin] 보조 생성자 (0) | 2022.01.05 |
[Kotlin] label를 통한 다중 for문 종료 (0) | 2022.01.05 |
[Kotlin] 조건문 when 사용법 (0) | 2022.01.05 |
댓글