JvmOverloads
-
[Kotlin] @JvmOverloadsAndroid 2020. 11. 6. 11:42
모든 경우의 오버로딩 메소드를 코틀린 컴파일러가 자동으로 생성 코틀린만 사용할 경우에는 사용할 필요가 없음 자바에서 코틀린 클래스나 함수를 자주 호출할 때 유용함 ex) 코틀린에서 @JvmOverloads 사용 @JvmOverloads fun test(a: String, b: Int = 0, c: String = "abc") { // } 실제는 아래처럼 생성됨 void test(String a, int b, String c) { } void test(String a, int b) { } void test(String a) { }
-
[Kotlin] Annotations @JvmName @JvmStatic @JvmField @Throws @JvmOverloadsAndroid 2020. 7. 9. 18:08
@JvmName - 자바코드로 변환 시 메소드명 변경해라. @JvmStatic - static 변수의 getter/setter 메소드를 자동으로 만들어라. - 메소드일 경우 static 메소드가 만들어짐 @JvmField - 자동으로 getter/setter 메소드를 생성하지 말아라. @Throws - 이 메소드가 예외를 던질 수 있다. @JvmOverloads - 오버로딩 메소드를 자동으로 생성해라. ref : https://kotlinlang.org/docs/reference/annotations.html