[kotlin] 코틀린에서 인터페이스의 속성과 메서드 사용 예시

코틀린은 객체지향 프로그래밍 언어로서, 인터페이스를 사용하여 다른 클래스들이 특정 메서드와 속성을 구현할 수 있게 해줍니다. 이번 글에서는 코틀린에서 인터페이스의 속성과 메서드를 어떻게 사용하는지 살펴보겠습니다.

인터페이스 정의하기

인터페이스를 정의하기 위해서는 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 속성을 접근하여 출력합니다.

결론

코틀린에서는 인터페이스를 사용하여 다른 클래스들이 공통된 메서드와 속성을 구현할 수 있습니다. 이를 통해 코드의 재사용성과 유지 보수성을 높일 수 있습니다. 인터페이스는 코틀린에서 강력한 기능 중 하나이므로, 활용법을 익혀두는 것이 좋습니다.

참고 자료