[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
인터페이스를 구현하는 예시입니다.
상속과 인터페이스를 이용하여 코틀린에서 다양한 타입의 클래스를 정의하고 활용할 수 있습니다.
참고문헌: