lunchScreen/Interview_Questions

탈출 클로저에 대하여 설명하시오.

Opened this issue · 3 comments

탈출 클로저에 대하여 설명하시오.

탈출 클로저란 @escaping 가 붙은 클로저로 함수가 반환된 후 scope 밖에서 실행시키는 클로저를 말합니다. 이를 활용하면 기존에 있던 함수 스코프 내부의 자원들을 활용해서 비동기적인 작업을 가능하게 해줍니다

탈출 클로저란 함수의 매개변수로 클로저를 전달하고 전달 받은 클로저를 실행하여 함수를 탈출하는 것을 말합니다. 탈출 클로저를 명시해 주기 위해선 매개변수 이름 뒤에 @escaping 키워드를 작성해 주면됩니다. 함수가 리턴된 후에도 클로저를 실행할 수 있어 비동기 작업이 가능하게 해준다는 특징이 있습니다.

함수의 파라미터로 클로저를 사용할 때, 해당 클로저를 함수의 스코프밖에서 실행 혹은 저장하고 싶을 경우 사용합니다. 주로 해당 클로저의 작업에 대한 비동기처리가 필요할 때 많이 사용합니다.