[kotlin] 코틀린(Kotlin) 상속과 인터페이스

코틀린은 자바와 달리 기본적으로 클래스가 다른 클래스를 상속하지 못하도록 설계되어 있습니다. 이를 통해 복잡성과 다중 상속으로 인한 문제를 방지할 수 있습니다. 그러나 코틀린은 여전히 다른 언어들처럼 상속을 지원하고, 또 다른 클래스와 인터페이스를 구현할 수 있도록 해줍니다.

클래스 상속

코틀린에서 클래스를 상속하려면 : 기호 뒤에 상속받을 클래스의 이름을 적어주면 됩니다.

예를 들어, 다음과 같이 Animal 클래스를 상속받는 Dog 클래스를 정의할 수 있습니다.

open class Animal(val name: String)

class Dog(name: String, val breed: String) : Animal(name)

open 키워드는 다른 클래스가 이 클래스를 상속할 수 있도록 허용하는 역할을 합니다.

인터페이스 구현

코틀린에서 인터페이스를 구현하려면 상속과 유사하게 : 기호 뒤에 인터페이스의 이름을 적어주면 됩니다.

interface Swimmable {
    fun swim()
}

class Dolphin : Animal("Dolphin"), Swimmable {
    override fun swim() {
        println("$name is swimming")
    }
}

Dolphin 클래스는 Animal 클래스를 상속받으면서 동시에 Swimmable 인터페이스를 구현하는 예시입니다.

상속과 인터페이스를 이용하여 코틀린에서 다양한 타입의 클래스를 정의하고 활용할 수 있습니다.

참고문헌: