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
- 기획자
- 갤럭시폴드7디스플레이
- firebase
- 다윈
- kotlin
- Realm
- 앱기획자
- 도커쿠버네티스
- 갤럭시폴드7화질
- 스트리밍
- error
- 해외여행데이터
- Android
- 2025it도서
- log
- ethereum
- 개발자필독서
- Glide
- test
- convert
- 갤럭시폴드7성능
- 기획자역량
- eSIM
- 안드로이드
- 웹기획자
- 데이터분석
- 컴파일
- Exception
- C
- Gradle
Archives
- Today
- Total
날마다 새롭게 또 날마다 새롭게
Android kotlin 에서 java static 사용하기 (Companion object) 본문
코틀린에서 java의 static 사용하기
Companion object로 자바의 static 과 동일하게 사용할 수 있다.
Companion Object
Companion object 를 내에 선언한 변수와 메서드는 java 에서 사용하는 static 형태로 사용할 수 있다. companion object 내에 변수와 메서드 하나를 작성해보자
class Key(val value: Int) {
companion object {
val COMPARATOR: Comparator<Key> = compareBy<Key> { it.value }
fun bar() {}
}
}위와 같이 작성하면 아래와 같은 형태로 호출할 수 있다.
Key.COMPARATOR
Key.bar()java 에서 static field 호출
java에서 코틀린 위의 변수와 메서드를 호출하기 위해서는 @JvmField, @JvmStatic annotation 이 필요하다. 다음과 같이 field 키워드 앞에 annotation 을 붙여준다.
class Key(val value: Int) {
companion object {
@JvmField val COMPARATOR: Comparator<Key> = compareBy<Key> { it.value }
@JvmStatic fun bar() {}
}
}위와 같이 작성하면 java에서 아래와 같은 형태로 호출할 수 있다.
Key.COMPARATOR;
Key.bar();
Comments