Android Koin 적용하기: Compose와 ViewModel 의존성 주입
이 글은 2022년에 작성한 내용을 2026년 기준으로 전면 개정한 글입니다. 기존 URL은 유지하면서 스크린샷 위주의 Koin 3.2 설정 노트를 최신 Android·Compose 환경에서 실행할 수 있는 의존성 주입 가이드로 다시 작성했습니다. Android Koin 적용하기: Compose와 ViewModel 의존성 주입 안드로이드 앱이 커지면 화면마다 필요한 객체를 직접 만들지 않고 외부에서 주입받는 구조가 편해집니다. Koin은 Kotlin 전용 의존성 주입 라이브러리로, 복잡한 애너테이션 처리 없이 DSL로 모듈을 선언하고 런타임에 객체를 제공합니다. 이 글에서는 최신 Android에서 Koin을 설정하고 ViewModel, Jetpack Compose, 테스트까지 한 흐름으로 적용합니다. 2026년 현재 Koin 4.2 계열은 BOM과 컴파일러 플러그인을 권장하고, 안드로이드 프로젝트는 version catalog를 기본 빌드 설정으로 사용합니다. 2022년 원문이 다루던 Gradle 파일 형식 변경 문제는 더 이상 별개의 이슈가 아니며, 최신 권장 구조에서 처음부터 설정하는 방법을 다룹니다. 먼저 보는 핵심 Koin BOM으로 라이브러리 버전을 맞추고, Repository는 singleOf , ViewModel은 viewModelOf 로 선언합니다. Compose에서는 koinViewModel() 로 ViewModel을 받고 collectAsStateWithLifecycle() 로 상태를 수집하는 흐름이 기본입니다. 핵심 질문 이 글의 답 최신 Android에서 Koin은 어떻게 추가하나? version catalog에 Koin BOM과 아티팩트를 선언 ViewModel은 어떻게 주입하나? koinViewModel() 로 Compose에서, by viewModel() 로 Activity/Fragment에서 Compose 화면에 의존성을 어떻게 넣나? koinInject() 또는 ViewMod...