자바에서 상수를 선언할 아래와 같이 사용한다
class PageLoader {
public static final int PAGE_SIZE = 20;
}
코틀린에서는 보통 companion object에서 상수를 선언해 사용하는데,
val만 사용해도 변경이 안되기 때문에 아래처럼 사용하기도 한다.
class PageLoader {
companion object {
val PAGE_SIZE = 20
}
}
코틀린만 보면 별 차이가 없는데, 코틀린에서 선언된 PAGE_SIZE를 자바에서 사용하려면 함수가 되어 있는 것을 볼 수 있다.
PageLoader.Companion.getPAGE_SIZE();
맨 위의 자바 코드에서 처럼 만들려면 const를 붙여줘야 한다.
class PageLoader {
companion object {
const val PAGE_SIZE = 20
}
}
이렇게하면 자바에서도 변수로 사용할 수 있다.
PageLoader.PAGE_SIZE
결론, 기본적으로 val만 사용해도 변경할 수 없게 선언할 수 있지만 const를 붙여야 컴파일 타임에 할당되는 레알 상수를 만들 수 있다.
끝.
'개발 > 안드로이드' 카테고리의 다른 글
코틀린 isEmpty와 isBlank 차이 (0) | 2021.05.02 |
---|---|
BillingClient의 launchBillingFlow에서 NullPointerException (0) | 2021.03.25 |
앱 설치/업데이트 시간 가져오기 (0) | 2021.02.03 |
Intent로 메일 보내기 (0) | 2020.12.03 |
안드로이드 fingerprint 확인 (0) | 2020.12.03 |
댓글