[kotlin] 코틀린에서 자바 클래스 사용 방법

코틀린은 자바와의 상호운용성(interoperability)을 제공하기 때문에 자바 클래스를 코틀린에서 손쉽게 사용할 수 있습니다.

자바 클래스 사용하기

자바 클래스를 코틀린에서 사용하는 것은 매우 간단합니다.

아래는 ExampleJavaClass 라는 자바 클래스를 코틀린에서 활용하는 예시입니다.

public class ExampleJavaClass {
    public void printMessage() {
        System.out.println("This is an example Java class");
    }
}
fun main() {
    val javaClass = ExampleJavaClass()
    javaClass.printMessage()
}

위 예시에서 ExampleJavaClass의 인스턴스를 생성하고 해당 인스턴스의 메서드를 코틀린에서 직접 호출할 수 있습니다.

자바 클래스의 필드 및 메서드

코틀린에서 자바 클래스의 필드와 메서드를 사용할 때에는 모든 것이 그대로 노출됩니다. 따라서 필드와 메서드의 가시성 수준(visibility modifiers)에 따라 적절히 접근해야 합니다.

프로젝트에 자바 클래스 추가하기

코틀린 프로젝트에 자바 클래스를 추가하는 방법은 간단합니다. 다음의 단계를 따르면 됩니다.

  1. 자바 소스 파일을 프로젝트 디렉토리에 추가합니다.
  2. 코틀린 파일에서 해당 자바 클래스를 import하여 사용합니다.

확장함수 (Extension Functions)

때로는 코틀린 코드에서 자바 클래스의 기능을 확장하고 싶을 수 있습니다. 코틀린에서는 확장 함수(extension functions)를 통해 이를 수행할 수 있습니다.

아래는 ExampleJavaClass의 확장 함수를 정의하고 활용하는 예시입니다.

fun ExampleJavaClass.newFunction() {
    println("This is a new function for ExampleJavaClass")
}

fun main() {
    val javaClass = ExampleJavaClass()
    javaClass.newFunction()
}

위에서 ExampleJavaClassnewFunction이라는 새로운 함수를 추가하여 사용하는 것을 볼 수 있습니다.

마치며

코틀린에서 자바 클래스를 사용하는 것은 간단하며, 두 언어 간의 상호운용성을 통해 기존의 자바 코드를 그대로 활용할 수 있습니다.

참고 자료

  1. Kotlin Interoperability
  2. Kotlin Extension Functions