Kotlin
[Kotlin] @JvmName
Nhahan
2025. 3. 20. 18:31
@JvmName
코틀린 선언의 자바 이름을 지정한다. 이름 충돌 해결에 유용.
// PrintUtils.kt
@file:JvmName("Utils") // PrintUtils.kt -> Utils 로 이름 변경해서 호출하도록 명시
@JvmName(name = "printAllInts")
fun printAll(list: List<Int>) {
println(list)
}
@JvmName(name = "printAllStrings")
fun printAll(list: List<String>) {
println(list)
}
는 자바에서
public static void main(String[] args) {
// PrintUtilsKt 대신 Utils 로 접근
Utils.printAllInts(Arrays.asList(1, 2, 3)); // printAllints()
Utils.printAllStrings(Arrays.asList("a", "b", "c")); // printAllStrings()
}
이와 같이 바뀐다.
파일명이 PrintUtils에서 Utils로,
메서드명이 printAll에서 각각 printAllInts, printAllStrings로 바뀐 것을 확인할 수 있다.