서론 최근들어 저는 LiveData를 사용하지 않고, StateFlow를 이용해 UI Data State holder를 처리하는 편입니다. 그런데, 이러한 방식을 이용해 로딩, 에러, 데이터 성공을 모두 표현하기 위해서는 3개의 변수를 가지고 각각의 State에 따라 collect하고 있는 View들의 Visible처리를 바꿔주는 방식으로 사용하곤 했었습니다. 그러나 회사 코드와 여러 예제들을 보니 하나의 변수를 통해, Sealed class를 이용해 위의 세가지 기능을 한번에 처리해줄 수 있다는 것을 알게됐고, 이제부터 사용방법과 이점을 알아보도록 하겠습니다. private val _movieList = MutableStateFlow(emptyList()) val movieList = _movieLis..