Android/Kotlin
[Kotlin] 클래스 ③
깡뇽
2021. 8. 28. 23:58
반응형
Day10
유튜브 "테크과학! DiMo" 《Kotlin 강좌 #10 - 클래스의 상속》 공부.
- 클래스 상속
규칙 1. 서브 클래스는 수퍼 클래스에 존재하는 속성과 같은 이름의 속성을 가질 수 없다.
규칙 2. 서브 클래스가 생성될 때는 수퍼 클래스의 생성자까지 호출되어야한다.
open : 클래스가 상속될 수 있도록 클래스 선언시 붙여주는 키워드. (코틀린은 상속 금지가 기본값이기 때문)
ex) Animal 클래스를 Dog와 Cat 클래스가 상속받음.
fun main() {
var a = Animal("예삐", 2, "강아지")
var b = Dog("예삐", 2)
var c = Cat("나비", 3)
a.introduce()
b.introduce()
c.introduce()
b.bark()
c.meow()
}
open class Animal (var name:String, var age:Int, var type:String){
fun introduce(){
println("저는 ${age}살 ${type} ${name}입니다.")
}
}
class Dog (name:String, age:Int) : Animal (name, age, "강아지"){
fun bark(){
println("멍멍")
}
}
class Cat (name:String, age:Int) : Animal (name, age, "고양이"){
fun meow() {
println("야옹")
}
}
/*출력값
**저는 2살 강아지 예삐입니다.
**저는 2살 강아지 예삐입니다.
**저는 3살 고양이 나비입니다.
**멍멍
**야옹*/
반응형