Kotlin 강좌 10 - 클래스의 상속

dyeon-dev·2023년 10월 8일
0

Kotlin

목록 보기
7/17
post-thumbnail

클래스의 상속이 이뤄지는 경우

  • 이미 존재하는 클래스를 확장하여 새로운 속성이나 함수를 추가한 클래스를 만들 때
  • 여러 클래스의 공통점을 뽑아 코드관리를 편하게 해야할 때

수퍼클래스 서브클래스

open: 클래스가 상속될 수 있도록 클래스 선언시 붙여줄 수 있는 키워드

수퍼클래스에 존재하는 속성과 같은 이름의 속성을 가질 수 없다.
서브클래스가 생성될 때는 반드시 수퍼클래스의 생성자까지 호출되어야 한다.

fun main() {
    var a = Animal("별이", 5, "개")
    var b = Dog("별이", 5)
    
    a.introduce()
    b.introduce()
    
    b.bark()
    
    var c = Cat("루이", 1)
    c.introduce()
    c.meow()
}

open class Animal(var name:String, var age:Int, var type:String) {
    fun introduce() {
        println("저는 ${type}이고 ${name}이고 ${age}살 입니다.")
    }
}
class Dog (name:String, age:Int) : Animal (name, age, "개") {
    fun bark() {
        println("멍멍")
    }
}
class Cat (name:String, age: Int) : Animal (name, age, "고양이") {
    fun meow() {
        println("야옹")
    }
}

저는 개이고 별이이고 5살 입니다.
저는 개이고 별이이고 5살 입니다.
멍멍
저는 고양이이고 루이이고 1살 입니다.
야옹

0개의 댓글