[kotlin] 코틀린에서 자바 메서드 오버로딩 사용하기

코틀린은 자바와의 호환성을 중요시하기 때문에 자바 메서드 오버로딩에 대한 지원이 내장되어 있습니다. 아래에서는 코틀린에서 자바 메서드 오버로딩을 어떻게 사용하는지 알아보겠습니다.

오버로딩된 자바 메서드 호출하기

코틀린에서는 자바 메서드 오버로딩을 통해 동일한 이름을 가진 다양한 메서드를 호출할 수 있습니다. 예를 들어, 자바 클래스 Example 에는 printMessage 메서드가 다양한 시그니처로 오버로딩되어 있을 수 있습니다.

val example = Example()
example.printMessage("Hello")   // String을 전달하는 경우
example.printMessage(10)        // Int를 전달하는 경우
example.printMessage(true)      // Boolean을 전달하는 경우

위와 같이 코틀린에서는 오버로딩된 자바 메서드를 호출할 때 추가적인 조치가 필요하지 않습니다. 코틀린은 자동으로 적절한 오버로딩된 메서드를 선택하여 호출합니다.

오버로딩된 자바 메서드 생성하기

코틀린에서 자바와 같이 메서드 오버로딩을 사용하기 위해서는 간단히 동일한 이름을 가진 메서드를 여러 개 생성하면 됩니다.

class Example {
    fun printMessage(message: String) {
        println(message)
    }

    fun printMessage(number: Int) {
        println("Number is $number")
    }

    fun printMessage(flag: Boolean) {
        println("Flag is $flag")
    }
}

위 예제에서는 printMessage라는 이름의 메서드를 각각 다른 타입의 매개변수를 가지고 세 번 오버로딩하였습니다.

요약

코틀린은 자바와의 호환성을 위해 메서드 오버로딩을 자연스럽게 지원합니다. 따라서 코틀린 코드에서 자바의 오버로딩된 메서드를 호출하거나 새로운 오버로딩된 메서드를 생성하는 것은 매우 쉽습니다.

메서드 오버로딩에 대해 더 알고 싶다면 여기를 참고해주세요.