본문 바로가기

Kotlin

#8.5 Kotlin Overriding Properties and Methods during Inheritance. Kotlin Tutorials for Beginner

fun main(args: Array<String>){
    var dog = Dog()
    dog.eat()
    
    var cat = Cat()
    cat.eat()
    
    var animal = Animal()
    animal.eat()
}

open class Animal {
    var color: String = ""
    open fun eat() {
        println("Animal Eating")
    }
}

class Dog: Animal() {
    var breed: String = ""
    fun bark() {
        println("Bark")
    }
    override fun eat(){
        println("Dog is eating")
    }
}

class Cat: Animal() {
    var age: Int = 0
    fun meow(){
        println("Meow")
    }
    override fun eat(){
        println("Cat is eating")
    }
}

 

class Dog: Animal() {
    var breed: String = ""
    fun bark() {
        println("Bark")
    }
    override fun eat(){
        super.eat()
        println("Dog is eating")
    }
}

super 키워드를 사용하면 상위 클래스의 메서드를 사용할 수 있다. 

class Dog: Animal() {
    var breed: String = ""
    fun bark() {
        println("Bark")
    }
    override fun eat(){
        super<Animal>.eat()
        println("Dog is eating")
    }
}

 

 

fun main(args: Array<String>){
    var dog = Dog()
    println(dog.color)
}

open class Animal {
    var color: String = "White"
    open fun eat() {
        println("Animal Eating")
    }
}

class Dog: Animal() {
    var breed: String = ""
    fun bark() {
        println("Bark")
    }
    override fun eat(){
        super<Animal>.eat()
        println("Dog is eating")
    }
}

 

fun main(args: Array<String>){
    var dog = Dog()
    println(dog.color)
}

open class Animal {
    open var color: String = "White"
    open fun eat() {
        println("Animal Eating")
    }
}

class Dog: Animal() {
    var breed: String = ""
    override var color: String = "black"
    fun bark() {
        println("Bark")
    }
    override fun eat(){
        super<Animal>.eat()
        println("Dog is eating")
    }
}