경험 중심 1인칭 답변
iOS 개인 프로젝트에서 네트워크 요청을 async/await으로 처리하고, UI 업데이트와 비동기 작업 간 흐름을 구조화하는 작업을 해봤습니다. async/await은 콜백 지옥을 피하고 에러 처리를 do-catch로 명확히 할 수 있어서 코드 가독성이 훨씬 좋아진다는 점이 장점입니다. Combine은 데이터 스트림을 Publisher-Subscriber 패턴으로 관리할 때 유용하고, 특히 여러 비동기 이벤트를 조합하거나 debounce·filter 같은 연산자를 적용할 때 강점이 있습니다. 두 방식의 차이는 async/await이 단일 비동기 작업에 더 직관적이고, Combine은 연속적인 이벤트 스트림을 다룰 때 더 적합하다고 생각합니다.
어떤 방식을 쓸지는 데이터 흐름의 특성에 맞게 판단하는 것이 중요합니다. 앞으로도 async/await과 Combine의 적합 상황을 구분하면서, 데이터 흐름의 특성에 맞는 방식을 선택하겠습니다. 단일 비동기 작업은 async/await이 직관적이고, 연속 이벤트 스트림은 Combine이 더 적합합니다. 도구 선택보다 어떤 비동기 패턴이 해당 문제에 더 자연스러운지를 먼저 파악하는 것이 중요합니다.