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