코틀린 Result 타입 쉽게 이해하기
코틀린 Result 타입은 실패를 없애는 문법이 아니라, 실패를 반환값으로 드러내는 도구에 가깝습니다. throw와 무엇이 다르고, runCatching은 언제 편하고 언제 조심해야 하는지 실무 예제로 정리합니다.
코틀린 Result 타입은 실패를 없애는 문법이 아니라, 실패를 반환값으로 드러내는 도구에 가깝습니다. throw와 무엇이 다르고, runCatching은 언제 편하고 언제 조심해야 하는지 실무 예제로 정리합니다.
코틀린 Flow와 suspend 함수 차이는 문법보다 계약에서 갈립니다. 이 글에서는 한 번 결과를 받고 끝나는 작업과 계속 흘러오는 데이터를 어떻게 구분해야 하는지, Flow의 cold 특성과 collect 시점이 왜 중요한지, API 설계에서는 어떤 기준으로 선택하면 좋은지 단계적으로 정리합니다.
Decorator 패턴은 코틀린에서 기능을 덧붙일 때 상속 계층을 더 만드는 대신 래퍼를 겹쳐 붙이는 방식입니다. 로깅, 압축, 암호화 같은 부가 기능을 composition으로 확장하는 감각을 Kotlin 예제로 정리합니다.
coroutineScope와 supervisorScope 차이는 문법보다 실패 전파 정책에서 갈립니다. 자식 코루틴 하나가 실패했을 때 전체를 같이 멈출지, 나머지를 계속 진행할지를 기준으로 Kotlin 공식 문서 기반 선택 기준을 정리합니다.
코틀린 inline 함수를 성능 미신이 아니라 실전 API 설계 관점에서 정리합니다. reified, noinline, crossinline이 왜 필요한지와 언제 inline이 실제로 도움이 되는지 예제로 설명합니다.
코틀린 Composite 패턴은 파일과 폴더처럼 개별 객체와 묶음 객체가 반복되는 트리 구조에서 특히 유용합니다. 호출부에 분기와 재귀를 흩뿌리지 않고, 공통 인터페이스로 전체 트리를 일관되게 다루는 감각을 Kotlin 예제로 정리합니다.