본문 바로가기
Android/안드로이드 스터디(Kotlin)

Kotlin] 26. const

by 김마리님 2020. 12. 10.

const는 inline처럼 컴파일 될 때, 함수가 호출된 자리가 리터럴로 대체처리된다.

package constExample

const val hello = "Hello" + "World"

object Foo {
    const val bar = "bar"
}

fun main() {
    println(hello)
    println(Foo.bar)
    println(hello)
    println(Foo.bar)
}

 

hello와 객체 내의 bar이 리터럴 형태를 가지고 있다.

이것은 컴파일 될 때

 

fun main() {
    println("HelloWorld")
    println("bar")
    println("HelloWorld")
    println("bar")
}

로 대체된다.

따라서 결과가

 

결과 :

 

HelloWorld
bar
HelloWorld
bar

 

로 출력된다.

이런 방식은 코틀린에서 반드시 리터럴을 인자로 받아와야 하는 문법에 사용된다.

반응형