코틀린 coroutineScope와 supervisorScope 차이: 실패 전파를 어떻게 다르게 다룰까
coroutineScope와 supervisorScope 차이는 문법보다 실패 전파 정책에서 갈립니다. 자식 코루틴 하나가 실패했을 때 전체를 같이 멈출지, 나머지를 계속 진행할지를 기준으로 Kotlin 공식 문서 기반 선택 기준을 정리합니다.
coroutineScope와 supervisorScope 차이는 문법보다 실패 전파 정책에서 갈립니다. 자식 코루틴 하나가 실패했을 때 전체를 같이 멈출지, 나머지를 계속 진행할지를 기준으로 Kotlin 공식 문서 기반 선택 기준을 정리합니다.
코틀린 inline 함수를 성능 미신이 아니라 실전 API 설계 관점에서 정리합니다. reified, noinline, crossinline이 왜 필요한지와 언제 inline이 실제로 도움이 되는지 예제로 설명합니다.
코틀린 Composite 패턴은 파일과 폴더처럼 개별 객체와 묶음 객체가 반복되는 트리 구조에서 특히 유용합니다. 호출부에 분기와 재귀를 흩뿌리지 않고, 공통 인터페이스로 전체 트리를 일관되게 다루는 감각을 Kotlin 예제로 정리합니다.
코틀린 Bridge 패턴은 알림 종류와 발송 채널처럼 서로 독립적으로 늘어나는 축이 있을 때 특히 유용합니다. 상속 계층 하나로 조합을 다 감당하려 하면 클래스가 금방 불어나기 때문에, Bridge는 abstraction과 implementation을 분리해 상속 폭발을 줄이는 방향을 제시합니다.
코틀린 let, run, apply, also, with 차이를 this, it, 반환값 기준으로 쉽게 정리합니다. nullable 처리, 객체 설정, 부수 효과, 계산 결과라는 실전 장면에서 언제 무엇을 고르면 되는지 설명합니다.
코틀린에서 상태를 표현할 때 enum이 맞는지 sealed class가 맞는지 UI 상태 예제로 쉽게 정리합니다. payload, when 분기, enum이 더 단순한 순간까지 실무 기준으로 설명합니다.