728x90
@JvmStatic
어노테이션은 코틀린에서 제공되며, 코틀린의 함수나 변수를 Java의 정적 메소드나 변수처럼 동작하도록 만들어줍니다.
코틀린에서는 기본적으로 static 멤버를 가지지 않기 때문에, object나 companion object를 통해 Java에서 static처럼 동작하는 멤버를 정의할 수 있습니다. 하지만 이런 멤버들은 실제로는 자바의 정적 멤버가 아니므로, Java에서 이들을 호출할 때는 해당 object의 인스턴스를 통해 호출해야 합니다.
이런 경우 @JvmStatic
어노테이션을 사용하면, 코틀린의 object나 companion object 내부의 함수나 프로퍼티에 대해 자바에서 정적 멤버처럼 접근할 수 있습니다.
예를 들어:
class MyClass {
companion object {
@JvmStatic fun staticFunction() {
println("This is a static function.")
}
}
}
위의 코드에서 staticFunction
메소드는 @JvmStatic
어노테이션이 붙어있기 때문에, 자바 코드에서 다음과 같이 정적 메소드처럼 호출할 수 있습니다:
MyClass.staticFunction();
@JvmStatic
이 붙지 않았다면, Java에서 호출할 때는 MyClass.Companion.staticFunction()
과 같이 호출해야 합니다.
728x90
'Kotlin for Beginners' 카테고리의 다른 글
자바에서 파이썬 코드 호출하기 (1) | 2024.04.26 |
---|---|
JPA Entity을 kotlin으로 개발할때 가이드 (0) | 2023.06.09 |
자바에서 코틀린으로 변환 가이드 (0) | 2023.06.09 |
Kotlin과 다른 언어 비교 (0) | 2023.06.02 |
MyBatis 연동하기 (0) | 2023.06.02 |