Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 코틀린
- 파이썬
- chatGPT's answer
- Spring Batch
- android
- lombok
- 소프트웨어공학
- 유닉스
- Java
- 뉴턴역학
- 인프라
- write by GPT-4
- 고전역학
- JVM
- NIO
- 역학
- 리눅스
- 자바암호
- GPT-4's answer
- 웹 크롤링
- 자바
- python
- GIT
- 자바네트워크
- Spring boot
- 시스템
- write by chatGPT
- Database
- kotlin
- oracle
Archives
- Today
- Total
Akashic Records
@JvmStatic에 대해서 본문
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 |
Comments