[kotlin] 코틀린에서 인터페이스의 상속이 가능한 클래스 조건
-
인터페이스는 클래스와 달리 생성자를 가지지 않습니다. 따라서 인터페이스를 상속할 때는 생성자 파라미터를 전달하지 않아야 합니다.
-
클래스가 인터페이스를 상속하기 위해서는 “:”, 콜론 뒤에 인터페이스 이름을 명시해야 합니다. 여러 개의 인터페이스를 상속할 때는 “,” 콤마로 구분하여 명시할 수 있습니다.
-
인터페이스를 상속 받은 클래스는 해당 인터페이스의 모든 추상 메서드를 구현해야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
아래는 코틀린에서 인터페이스를 상속하는 예제 코드입니다.
interface Animal {
fun makeSound()
}
class Dog : Animal {
override fun makeSound() {
println("멍멍!")
}
}
class Cat : Animal {
override fun makeSound() {
println("야옹!")
}
}
fun main() {
val dog = Dog()
val cat = Cat()
dog.makeSound() // 멍멍!
cat.makeSound() // 야옹!
}
위의 예제에서는 Animal 인터페이스를 상속받은 Dog 클래스와 Cat 클래스를 정의하고 makeSound() 메서드를 구현하였습니다. main 함수에서는 Dog와 Cat 객체를 생성하여 makeSound() 메서드를 호출하고 그 결과를 출력하도록 했습니다.
인터페이스를 상속받은 클래스는 인터페이스의 추상 메서드를 모두 구현해야 한다는 점을 주의하시기 바랍니다.
더 자세한 내용은 코틀린 공식 문서를 참조하시기 바랍니다.