Kotlin
[Kotlin] @JvmOverloads
Nhahan
2025. 3. 20. 18:36
@JvmOverloads
default parameter가 있는 함수를 자바에서 호출할 수 있도록 여러 오버로드를 생성한다. (자바는 기본값을 지원하지 않으므로 자바에서 defulat parameter가 있는 코틀린의 함수를 사용하려면 필수적)
@JvmOverloads
fun findMessages(sender: String, type: String = "text", maxResults: Int = 10) {}
원하는 함수 위에 @JvmOverloads를 선언만 해두면,
public static void findMessages(String sender, String type, int maxResults) {}
public static void findMessages(String sender, String type) {}
public static void findMessages(String sender) {}
자바에서는 이와 같이 컴파일 되어 사용 가능하다.