Kotlin data object 알아보기data object?data object는 kotlin 1.9.0에서 추가된 데이터 홀더 객체입니다. class 대신 data class를 사용할 수 있는 것처럼, data object도 object대신 간편하게 사용하기 위해 개발되었습니다. sealed class, sealed interface등과 연계하여 사용하기 좋습니다.sealed interface UiState { data object Loading : UiState data class Success(val data: String) : UiState data object Error : UiState}when(data) { UiState.Loading -> {} is U..
Kotlin
const val과 val의 차이점에 대해 알아보기 val val x = 10 // ok val y = listOf() // ok val z = java.util.Random().nextInt(5) // ok val은 불변하는 값을 선언하기 위해 사용됩니다, val에는 기본 타입, String, List, 함수 등 다양한 타입을 할당할 수 있습니다. val에 값이 할당되는 시점은 런타임 시점입니다. 만약 리스트나 함수 등을 값으로 가지고 있다면 런타임 동작에 의해 값이 변경될 수 있습니다. ex) 함수 인자 변경, list add 등등.. 따라서 val은 불변한 값을 지정하기 위해 사용되지만, 재할당할 수 없을 뿐, 위 예시처럼 변경이 가능하기 때문에 불완전한 불변성을 가진다고 볼 수 있습니다. cons..