[kotlin] 코틀린 인터페이스에서 메서드 구현하기

코틀린에서는 인터페이스를 사용하여 클래스가 구현해야 할 메서드를 정의할 수 있습니다. 하지만 인터페이스는 기본적으로 메서드의 구현을 포함하지 않으므로, 클래스에서 이를 구현해야 합니다. 이번 포스트에서는 코틀린 인터페이스에서 메서드를 구현하는 방법에 대해 알아보겠습니다.

1. 인터페이스 정의하기

우선 인터페이스를 정의해야 합니다. 아래의 예시 코드에서는 Shape라는 인터페이스를 정의하고 있습니다. 이 인터페이스에는 calculateArea라는 메서드가 있습니다.

interface Shape {
    fun calculateArea(): Double
}

2. 클래스에서 인터페이스 구현하기

인터페이스를 정의한 후에는 해당 인터페이스를 구현하는 클래스를 작성해야 합니다. 아래의 예시 코드에서는 Circle이라는 클래스가 Shape 인터페이스를 구현하고 있습니다. 따라서 Circle 클래스는 calculateArea 메서드를 반드시 구현해야 합니다.

class Circle(val radius: Double) : Shape {
    override fun calculateArea(): Double {
        return Math.PI * radius * radius
    }
}

Circle 클래스에서는 calculateArea 메서드를 오버라이드하여, 원의 넓이를 계산하도록 구현하였습니다. 원의 넓이를 구하는 공식인 π * r^2 을 사용하였습니다.

3. 인터페이스 사용하기

이제 인터페이스를 사용하여 객체를 생성하고, 메서드를 호출해보겠습니다. 아래의 예시 코드에서는 main 함수에서 Circle 객체를 생성하고, calculateArea 메서드를 호출하여 원의 넓이를 출력하고 있습니다.

fun main() {
    val circle = Circle(5.0)
    val area = circle.calculateArea()
    println("원의 넓이는 $area 입니다.")
}

출력 결과는 다음과 같을 것입니다.

원의 넓이는 78.54 입니다.

4. 결론

코틀린에서는 인터페이스를 사용하여 다른 클래스에서 구현해야 할 메서드를 정의할 수 있습니다. 클래스에서는 인터페이스를 구현하여 이를 반드시 구현하도록 할 수 있습니다. 이를 통해 코드의 추상화와 유연성을 높일 수 있습니다.

더 자세한 내용은 코틀린 공식 문서를 참고하시기 바랍니다.