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
- convert
- 앱기능설명
- Android
- Realm
- error
- 기획자역량
- ethereum
- 데이터분석
- eSIM
- Exception
- 글라이드로앱만들기
- 앱기획자
- 웹기획자
- 사용자중심기획
- kotlin
- 데이터해석능력
- 기획자
- 노코드활용
- 다윈
- 해외여행데이터
- firebase
- Gradle
- 스트리밍
- Glide
- log
- C
- 안드로이드
- 컴파일
- test
- 데이터활용능력
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