본문 바로가기
Kotlin

[Kotlin] @JvmName

by Nhahan 2025. 3. 20.

@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로 바뀐 것을 확인할 수 있다.

 

댓글