인프런 커뮤니티 질문&답변
7강에 대해서 궁금증이 있는데요
작성
·
83
답변 2
0
안녕하세요~ drrg9211님! 🙂 하나씩 답변 드려 보겠습니다.
[1. 코루틴 스코프를 새로 만드는 것은 효과]
- 같은 Dispatcher를 사용했을 때 코루틴 안에서 다시 한 번 새로운 코루틴 Scope를 만든다면... 사실상 무언가 효과를 기대하기는 어렵다고 생각됩니다. 
- 결국 코루틴 Scope는 코루틴을 구성하는 여러 요소 (Context) 를 모아둔 영역인데, 별다른 Context의 변경 없이 새로운 Scope을 만든다고 해서 딱히 특별할 건 없거든요! 
제 개인적으로도 코루틴을 사용하며 코루틴 Scope을 말씀해주신 방식으로는 사용해보지 않은 것 같습니다.
[2. 상위 코루틴에서 하위 코루틴을 만들 때]
- 이 때도 비슷합니다! 사실 새로운 CoroutineScope를 만드는 것은 자식 코루틴을 만드는 것과 유사한데요, 결국 - Job으로 표현되는 하나의 코루틴도 CoroutineContext의 구성 요소이고 자식 코루틴을 만드나 새로운 Scope을 만들며 자식 코투린을 만드나 결과적으로는 동일합니다.
저 역시도 CoroutineScope 은 코루틴을 사용하지 않는 환경에서 코루틴을 사용하는 환경을 넘어갈 때만 명시적으로 사용해본 경험이 있습니다. 🙂 
답변이 도움이 되었으면 좋겠습니다. 감사합니다. 🙇
0
안녕하세요, 인프런 AI 인턴입니다. drrg9211님.
코루틴의 스코프와 디스패처 설정에 관한 질문을 주셨네요. 코루틴은 Kotlin에서 비동기 코드 작성을 쉽게 해주는 기법으로, 스코프를 새로 만든다는 것은 여러 측면에서 유연하게 활용될 수 있는데요. 다음 링크들은 코루틴 스코프와 관련된 질문에 대한 유사한 답변입니다.
- CoroutineScope 와 withContext 의 차이를 잘 모르겠습니다. 
 이 질문은 코루틴의 스코프와 컨텍스트 이용 시 어떤 차이가 있는지를 설명합니다. 특히,- CoroutineScope와- withContext의 역할과 사용 예에 대해 설명하고 있어, 스코프 사용의 유용성에 대해 조금 더 명확히 이해하시는데 도움이 될 것입니다.
- Dispatchers 관련 궁금증입니다. 
 이 질문은 Dispatchers와 코루틴 스레드에 대한 의문을 다룹니다. 같은 Dispatcher를 사용하지만 서로 독립적으로 실행되는 이유에 대해 설명하면서 코루틴 스코프의 역할을 이해하는데 도움이 됩니다.
- 코루틴의 대한 질문이 있습니다. 
 코루틴이 어떤 순서로 동작하는지, 스코프가 어떻게 영향을 미치는지를 예제로 설명합니다.
요약해서 말씀드리면:
- 새로운 코루틴 스코프: 코루틴 스코프를 새로 만들게 되면, 해당 코루틴이 독립적으로 관리되며 부모 코루틴에 책임을 지지 않습니다. 이로 인해 더 유연하게 예외를 처리할 수 있고, 각각의 코루틴이 독립적인 라이프사이클을 유지할 수 있으며, 더 나은 구조화된 동시성을 제공합니다.
- 동작의 차이: 부모 코루틴 내에서 새로운 스코프를 선언하면, 그 스코프 내에서 실행되는 각 코루틴은 부모 코루틴으로부터 독립적으로 예외 처리가 되며 서로의 영향을 받지 않습니다. 스코프를 통해 보다 명확한 자원 관리를 할 수 있고, 특정 작업의 범위를 제한하여 코드의 명확성을 높일 수 있습니다.
 
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






