StateFlow

interface StateFlow<out T> : SharedFlow<T>

StateFlow는 값(data)에 대한 업데이트를 consumer(소비자)로 내보내고, 갱신(update)이 가능한 단일 데이터로 읽기 전용(read-only) 상태(state)는 나타내는 Flow(SharedFlow)다.

MutableStateFlow

interface MutableStateFlow<T> : StateFlow<T> , MutableSharedFlow<T>

MutableStateFlowStateFlowMutableSharedFlow 를 구현하고 있다.

어떻게 사용하는데?

1 class CounterModel {
2    private val _counter = MutableStateFlow(0) // private mutable state flow
3    val counter = _counter.asStateFlow() // publicly exposed as read-only state flow
4
5    fun inc() {
6        _counter.update { count -> count + 1 } // atomic, safe for concurrent use
7    }
8 }