깡뇽

[Kotlin] 클래스 ③ 본문

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

'Android > Kotlin' 카테고리의 다른 글

[Kotlin] 클래스 ②  (0) 2021.08.26
[Kotlin] 클래스 ①  (0) 2021.08.25
[Kotlin] 흐름제어와 논리연산자  (0) 2021.08.24
[Kotlin] 반복문과 증감연산자  (0) 2021.08.23
[Kotlin] 조건문과 비교연산자  (0) 2021.08.22