쾌락코딩

코틀린 const란

|

코틀린에서는 자바와 다르게 파일의 최상위 수준에 프로퍼티를 놓을 수 있다(함수도 가능). app.kt라는 파일의 최상위에 프로퍼티를 만들어 보자.

// app.kt

val CONST_COUNTRY = "KR"

최상위 함수에 val로 프로퍼티를 선언했으므로 다른 파일에서 CONST_COUNTRY 프로퍼티를 상수처럼 사용할 수 있다. 그러나 결국 프로퍼티이기 때문에 getter로 접근해야 한다는 점이 상수스럽지 못하다. 자바에서 상수를 선언할 때 어떻게 했는지 보자.

public static final String CONST_COUNTRY = "KR"

위의 코드처럼 정말 상수처럼 사용하려면 코틀린 코드가 public static final필드로 컴파일 되야한다. const 변경자를 추가하여 프로퍼티를 public static final필드로 컴파일 하게 만들 수 있다. 단, 원시타입과 String 타입의 프로퍼티만 const로 지정할 수 있다.

위의 코드를 만드려면, app.kt를 아래와 같이 하면 된다.

// app.kt

const val CONST_COUNTRY = "KR"

Comments