얼마 전에 후배가 _state 가 왜 붙어있냐고 묻길래 한참 설명했거든요. 끝나고 코틀린(Kotlin) 2.4 릴리스 노트를 보니, 그 설명이 통째로 필요 없어지는 문법이 들어와 있었습니다. 기존 _state / state 패턴, 두 줄이 거슬렸던 이유ViewModel 한 번 까보면 이런 두 줄이 화면 절반을 채우는 경우가 많아요. private val _state = MutableStateFlow(UiState.Idle)val state: StateFlow = _state.asStateFlow() 프로퍼티가 하나면 모르겠는데, query·result·loading·error 같이 네다섯 개 깔리면 ViewModel 윗단이 선언부로만 20줄 가까이 됩니다. 정작 비즈니스 로직은 그 밑에서 시작하지요. _..