interface
interface Say {
fun hello()
fun hi() {} //Kotlin은 Interface의 body도 구현이 가능하다.
}
class Person() : Say {
override fun hello() { println("Hello") }
// body가 구현된 함수는 상속받는 클래스에서 굳이 구현할 필요가 없어 중복되는 코드를 줄일 수 있다.
}
//다중상속을 이런식으로 푼다. mix-in
interface Korean {
fun hello() { println("안녕") }
}
interface Newyorker {
fun hello() { println("Hello") }
}
class Person(val name: String, val age: Int) : Korean, Newyorker {
override fun hello() {
super<Korean>.hello()
super<Newyorker>.hello()
}
}
// Kotlin은 서로 다른 Interface들이 같은 method 정의 및 구현이 가능하며, 각각 호출 할 수 있다.
Last updated