@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로 바뀐 것을 확인할 수 있다.
'Kotlin' 카테고리의 다른 글
[Kotlin] @JvmField (0) | 2025.03.20 |
---|---|
[Kotlin] @JvmOverloads (0) | 2025.03.20 |
[Kotlin in Action] 5.4 자바 함수형 인터페이스 활용 (0) | 2025.03.19 |
[Kotlin] 무명 객체와 객체 선언 비교 & 람다와 무명 객체 차이 (0) | 2025.03.19 |
[Kotlin in Action] 5.3. 지연 계산(lazy) 컬렉션 연산 (0) | 2025.03.19 |
댓글