0Pricing
Android Academy · 강의

Kotlin Flow 기초

데이터 스트림을 내보내고 수집해 보세요.

Kotlin Flow 기초은(는) CoddyKit의 무료 Android Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Android Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Android Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

플로란 무엇인가요?

플로는 시간이 지나면서 여러 값을 내보내는 비동기 스트림입니다. 변환하고 수집할 수 있는 일시 중단 가능한 시퀀스라고 생각하면 됩니다.

플로 만들기

flow { } 빌더를 사용하면 값 사이에서 선택적으로 일시 중지하면서 emit으로 값을 내보낼 수 있습니다.

fun numbers(): Flow<Int> = flow {
    for (i in 1..3) {
        delay(100)
        emit(i)
    }
}

플로 수집하기

플로는 수집하기 전까지 아무 작업도 하지 않습니다. 수집은 일시 중단 작업이므로 코루틴에서 실행됩니다.

scope.launch {
    numbers().collect { value ->
        println(value)
    }
}

차가운 스트림

플로는 차갑습니다. 수집기마다 빌더 블록이 새로 실행됩니다. 두 수집기는 각각 시작점부터 서로 독립적인 시퀀스를 받습니다.

map과 filter로 변환하기

연산자는 값을 수집할 때만 실행되도록 값을 느리게 변환합니다.

numbers()
    .map { it * 10 }
    .filter { it > 10 }
    .collect { println(it) }

더 많은 연산자

  • take(n) — 처음 n개의 값만 가져옵니다.
  • onEach — 값마다 부수 효과를 실행합니다.
  • distinctUntilChanged — 반복되는 값을 건너뜁니다.

오류 처리하기

catch 연산자로 상위 스트림의 예외를 처리합니다.

numbers()
    .map { riskyTransform(it) }
    .catch { e -> emit(-1) }
    .collect { println(it) }

완료에 반응하기

onCompletion을 사용하면 플로가 완료되거나 취소될 때 코드를 실행할 수 있습니다.

numbers()
    .onCompletion { println("done") }
    .collect { println(it) }

생산자 스레드 변경하기

flowOn을 사용하면 수집기에는 영향을 주지 않고 상위 스트림을 특정 디스패처에서 실행할 수 있습니다.

fun load(): Flow<Data> = flow {
    emit(readFromDisk())
}.flowOn(Dispatchers.IO)

종단 연산자

toList, first, reduce와 같은 일부 연산자는 플로를 종료하고 값을 반환합니다. 이 연산자들은 일시 중단 함수입니다.

val all: List<Int> = numbers().toList()

Android에서 플로가 유용한 경우

플로는 시간에 따라 값을 내보내는 모든 것을 모델링할 수 있습니다. 예를 들면 데이터베이스 변경 사항(Room), 위치 업데이트, 입력과 동시에 실행되는 검색, 여러 데이터 소스의 결합 등이 있습니다.

빠른 확인

플로의 기본 개념에 대한 이해도를 확인해 보세요.

복습

다음 내용을 배웠습니다.

  • flow { emit(...) }은 비동기 스트림을 만듭니다.
  • 플로는 차갑고 수집할 때만 실행됩니다.
  • map/filter로 변환하고 catch로 오류를 처리합니다.
  • flowOn은 생산자 디스패처를 설정합니다.

자주 묻는 질문

“Kotlin Flow 기초” 강의는 무료인가요?

네 — “Kotlin Flow 기초” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Android Academy 강의 전체를 잠금 해제할 수 있습니다. Android Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Kotlin Flow 기초”에서 뭘 배우나요?

데이터 스트림을 내보내고 수집해 보세요. 브라우저에서 직접 실행하는 실습 코드로 Android Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Android Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Android Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Kotlin Flow 기초” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Android Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Android Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 코루틴 기초와 범위
  2. viewModelScope와 디스패처
  3. Kotlin Flow 기초
  4. StateFlow와 SharedFlow
← Android Academy(으)로 돌아가기