코틀린에서 인터페이스는 다른 클래스에 대한 추상 메서드를 정의하는데 사용됩니다. 이러한 인터페이스를 구현하여 클래스에서 실제 동작을 정의할 수 있습니다. 이번 블로그 포스트에서는 코틀린 인터페이스를 어떻게 구현하는지 알아보겠습니다.
인터페이스 구성
인터페이스를 정의하기 위해 interface
키워드를 사용합니다. 인터페이스 안에는 추상 메서드, 프로퍼티, 기본 구현이 포함될 수 있습니다.
interface MyInterface {
fun myMethod()
val myProperty: String
get() = "Default Property Value"
fun myDefaultMethod() {
println("This is a default method")
}
}
위의 예시에서 MyInterface
는 myMethod
와 myProperty
라는 추상 메서드와 프로퍼티를 가지고 있습니다. 또한 myDefaultMethod
라는 기본 구현이 포함되어 있습니다.
인터페이스 구현
인터페이스를 구현하는 클래스는 : 인터페이스명
을 사용하여 구현할 수 있습니다. 구현 클래스는 인터페이스의 모든 메서드를 구현해야 합니다.
class MyClass : MyInterface {
override fun myMethod() {
println("Implementing myMethod")
}
override val myProperty: String
get() = "Overridden Property Value"
}
위의 예시에서 MyClass
는 MyInterface
를 구현하고 있습니다. 이 클래스는 myMethod
와 myProperty
메서드를 반드시 구현해야 합니다. 또한, 기본 구현인 myDefaultMethod
는 구현 클래스에서 구현하지 않아도 됩니다.
인터페이스 사용
인터페이스를 사용하기 위해서는 인터페이스가 구현된 객체를 생성해야 합니다. 이 객체를 사용하여 인터페이스의 메서드와 프로퍼티에 접근할 수 있습니다.
fun main() {
val myObj = MyClass()
myObj.myMethod()
println(myObj.myProperty)
myObj.myDefaultMethod()
}
위의 예시에서 MyClass
의 객체를 생성한 후에 myMethod
를 호출하고, myProperty
값을 출력하며, myDefaultMethod
를 호출하고 있습니다.
요약
이 블로그 포스트에서는 코틀린에서 인터페이스를 어떻게 구현하는지에 대해 알아보았습니다. 인터페이스를 구현하는 클래스를 작성하고, 인터페이스를 사용하는 방법을 확인했습니다. 인터페이스는 코틀린에서 다형성을 지원하는 강력한 도구로써 활용될 수 있습니다. 추가적으로 코틀린의 인터페이스 문서를 참고하는 것을 권장합니다.
참고 문서: 코틀린 인터페이스 문서