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살 고양이 나비입니다.
**멍멍
**야옹*/
반응형