Kotlin 2

[Kotlin] Coroutine Flow란, 그리고 Flow, StateFlow, SharedFlow..

Coroutine Flow란?Flow는 Kotlin Coroutne 기반의 비동기 데이터 스트림 처리 도구이다. 데이터 스트림은 시간 흐름에 따라 연속적으로 발생하는 데이터를 순차적으로 처리하는 개념인데, Java의 Stream과 비슷한 개념이라고 생각하면 된다.Kotlin(함수형 언어)을 자주 사용하는 입장에서는 사실 익숙한 개념이다. Java의 Stream에 대한 간단한 예시List numbers = Arrays.asList(1, 2, 3, 4, 5);numbers.stream() .filter(n -> n % 2 == 0) // 짝수 필터링 .map(n -> n * n) // 제곱 .forEach(System.out::pr..

Android/학습 2025.07.06

[Kotlin] Kotlin Coroutine with Dispatcher

코루틴 CoroutineAndroid에서 비동기적으로 실행되는 코드를 단순화하는 데 사용할 수 있는 동시성(concurrency) 디자인 패턴이다.  동시성(Concurrency) vs 병렬성(Parallelism) 병렬성은 실제로 두 작업이 같이 처리되는 것을 뜻하고 동시성을 그 와는 다르게 두 작업이 번갈아가면서 실행되며 동시에 처리되는 것을 뜻한다. 실제로 A작업, B작업이 같이 처리되는 것이 아니라 A작업했다가 B작업했다가 돌아가면서 처리하는 것이다.실제 한 시점을 보면 하나의 작업만 처리되는 것을 알 수 있다. 코루틴은 이 동시성에 대한 디자인 패턴(솔루션)인 것인데,코루틴이 병렬성이 아닌 동시성 디자인 패턴인 건에 대해서는 코루틴의 동작 방식에 대해 이해하면 쉽다.  코루틴은 주로 경량 스레드..

Android/학습 2025.04.09