const

    [Kotlin] const val vs val - 둘의 차이점은 무엇일까?

    최근 우아한테크코스에서 코틀린에 대해 공부하면서 상수를 관리할 때 companion object(동반 객체) 내에 필요한 상수를 선언하는 일이 자주 있었습니다. 단순히 상수이기 때문에 val 키워드를 사용하면 된다고 생각했지만, IDE에서는 이 방식을 추천하지 않았습니다. val만 사용하여 상수를 선언하면, Might be 'const'라는 문구가 나타나면서 노란 줄로 경고가 나타납니다. 여기서 IDE가 추천해주는 방식을 따르면 const 키워드가 추가로 붙게 됩니다. 이 둘에 어떤 차이가 있는지 알아본 바로는, const val는 컴파일 시점에 값을 할당하는 반면, val는 런타임 시점에 값을 할당한다는 차이가 있습니다. 많은 레퍼런스를 참조해봤지만 대부분 이 둘에 대한 차이밖에 찾을 수 없었으며, K..