본문 바로가기
Study/WEB

[Kotlin] Class 상속 및 오버라이딩 방법

by Becoming a Hacker 2022. 1. 5.
반응형

클래스 상속

Kotlin은 Default로 상속이 금지되어 있기 때문에 class 예약어 앞에 open을 사용해야함.

 

예제1

fun main(){
    var a = Person("김민수",1996)
    a.introduce()
    
    var b = Dog("김민수",1996)
    b.introduce()
    b.bark()

}

open class Person (var name:String, var birthYear:Int){
    fun introduce(){
        println("안녕하세요. 저는${this.name}이고, ${this.birthYear}년에 태어났습니다.")
    }
   
}

class Dog (name:String, birthYear:Int): Person(name, birthYear){
    fun bark(){
        println("술을 먹고 개가 되었습니다!")
    }
}

 

예제1 결과

예제1 결과

 

오버라이딩

오버라이딩을 허용할 함수 앞에 open 예약어를 사용해야 하며, 서브 클래스에서 override 예약어를 사용해야함.

 

예제2

fun main(){
    var a = Person("김민수",1996)
    a.introduce()
    
    var b = Dog("김민수",1996)
    b.introduce()
}

open class Person (var name:String, var birthYear:Int){
    open fun introduce(){
        println("안녕하세요. 저는${this.name}이고, ${this.birthYear}년에 태어났습니다.")
    }
}

class Dog (name:String, birthYear:Int): Person(name, birthYear){
    override fun introduce(){
        println("술을 먹고 개가 되었습니다!")
    }
}

 

예제2 결과

예제2 결과

반응형

'Study > WEB' 카테고리의 다른 글

[Kotlin] 고차함수  (0) 2022.01.05
[Kotlin] 추상화 (abstract, interface)  (0) 2022.01.05
[Kotlin] 보조 생성자  (0) 2022.01.05
[Kotlin] label를 통한 다중 for문 종료  (0) 2022.01.05
[Kotlin] 조건문 when 사용법  (0) 2022.01.05

댓글