(Kotlin) java의 static final 변수에 대응되는 것은?
1
2
3
4
5
6
class KakaoAuthHelper {
companion object {
const val REDIRECT_URI = "http://webpage-observer"
val AUTHZ_CODE_URL = "https://kauth.kakao.com/oauth/authorize?client_id=${KakaoConfig.app_rest_api_key}&redirect_uri=${REDIRECT_URI}&response_type=code"
}
}
AUTHZ_CODE_URL
은 변수가 들어가야 해서 const를 안붙였지만… Byte Code -> Java Decompile 해보면
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static final String REDIRECT_URI = "http://webpage-observer";
private static final String AUTHZ_CODE_URL;
static {
AUTHZ_CODE_URL =
"https://kauth.kakao.com/oauth/authorize?client_id=" +
KakaoConfig.INSTANCE.getApp_rest_api_key() +
"&redirect_uri=http://webpage-observer&response_type=code";
}
public static final class Companion {
@NotNull
public final String getAUTHZ_CODE_URL() {
return KakaoAuthHelper.AUTHZ_CODE_URL;
}
}
이렇기 때문에 const를 붙이거나 안붙이거나 어차피 쓰는 쪽에서의 큰 차이는 없다. 둘 다 final이라 한 번 할당되면 수정 불가하므로…
This post is licensed under CC BY 4.0 by the author.