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
- Glide
- hardwareacceleration
- vuepress
- LAYER_TYPE_SOFTWARE
- test
- dataginding
- quick-start
- ethereum
- log
- fabic
- firebase
- C
- 다윈
- 컴파일
- null safety
- fabric-sdk-java
- Realm
- web3js
- Android
- 스트리밍
- Exception
- coroutines
- kotlin
- 안드로이드
- error
- bigquery
- porterduff
- Hyperledger
- convert
- 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