Kotlin/포스팅

코틀린 노출된 선언 이름 변경

짜집퍼박사(짜박) 2024. 1. 7. 11:46

코틀린에서 노출된 선언의 이름을 변경하려면 @JvmName 애노테이션을 사용할 수 있습니다. 이 애노테이션은 Kotlin 코드를 Java 코드와의 상호 운용성을 위해 사용됩니다. @JvmName 애노테이션을 사용하면 Kotlin에서 정의한 이름과 Java에서 사용할 이름을 별도로 지정할 수 있습니다.

 

// Kotlin 코드

class MyKotlinClass {
    @JvmName("greet")
    fun sayHello() {
        println("Hello from Kotlin!")
    }
}

fun main() {
    val myObject = MyKotlinClass()
    myObject.sayHello() // Kotlin 코드에서는 "sayHello"로 호출
}

위의 Kotlin 코드에서 sayHello 함수에 @JvmName("greet") 애노테이션을 추가했습니다. 이렇게 하면 Java 코드에서는 함수를 greet로 호출할 수 있게 됩니다.

// Java 코드

public class MyJavaClass {
    public static void main(String[] args) {
        MyKotlinClass myObject = new MyKotlinClass();
        myObject.greet(); // Java 코드에서는 "greet"로 호출
    }
}

Java 코드에서는 sayHello가 아니라 greet로 호출할 수 있습니다. 이렇게 함으로써, Kotlin에서는 코드를 의미있게 작성하면서도 Java와의 상호 운용성을 유지할 수 있습니다.

 

주의사항

1. @JvmName 애노테이션은 클래스, 함수, 프로퍼티 등에 모두 사용할 수 있습니다.
2. 이름 변경은 주로 Java와의 상호 운용성을 위해 필요한 경우에 사용됩니다.
3. 주의해서 사용해야 하며, 네이밍 충돌을 피하기 위해 명시적인 이름 변경이 필요한 경우에만 사용해야 합니다.

 

이러한 방식으로 @JvmName을 사용하면 Kotlin 코드를 Java와의 연동성을 높일 수 있습니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 예외 선언  (0) 2024.01.07
코틀린 오버로딩한 메서드 생성  (0) 2024.01.07
코틀린 정적 멤버  (0) 2024.01.07
코틀린 객체  (0) 2024.01.07
코틀린 최상위 선언  (0) 2024.01.07