코틀린은 객체지향 프로그래밍 언어로서, 인터페이스를 사용하여 다른 클래스들이 특정 메서드와 속성을 구현할 수 있게 해줍니다. 이번 글에서는 코틀린에서 인터페이스의 속성과 메서드를 어떻게 사용하는지 살펴보겠습니다.
인터페이스 정의하기
인터페이스를 정의하기 위해서는 interface
키워드를 사용합니다. 아래는 Drawable
인터페이스를 정의하는 예시입니다.
interface Drawable {
var color: String
fun draw()
fun getArea(): Double
}
Drawable
인터페이스에는 color
속성과 draw()
와 getArea()
메서드가 있습니다.
인터페이스 구현하기
인터페이스를 구현하기 위해서는 class
를 사용하고, :
뒤에 인터페이스 이름을 명시합니다. 아래는 Circle
클래스가 Drawable
인터페이스를 구현하는 예시입니다.
class Circle : Drawable {
override var color = "red"
override fun draw() {
println("Drawing circle")
}
override fun getArea(): Double {
return 3.14
}
}
Circle
클래스는 Drawable
인터페이스의 속성과 메서드를 구현해야 합니다. color
속성은 var
키워드를 사용하여 오버라이드 할 수 있습니다.
인터페이스 사용하기
인터페이스를 사용하기 위해서는 구현한 클래스의 객체를 인터페이스로 선언하고 사용할 수 있습니다. 아래는 main
함수에서 Circle
객체를 Drawable
타입으로 사용하는 예시입니다.
fun main() {
val circle: Drawable = Circle()
circle.draw()
println("Color: ${circle.color}")
println("Area: ${circle.getArea()}")
}
Drawable
타입으로 선언된 circle
변수에 Circle
객체를 할당하고, draw()
와 getArea()
메서드를 호출하여 출력합니다. 또한 color
속성을 접근하여 출력합니다.
결론
코틀린에서는 인터페이스를 사용하여 다른 클래스들이 공통된 메서드와 속성을 구현할 수 있습니다. 이를 통해 코드의 재사용성과 유지 보수성을 높일 수 있습니다. 인터페이스는 코틀린에서 강력한 기능 중 하나이므로, 활용법을 익혀두는 것이 좋습니다.