-코드블럭이다.
-사용자의 코드 안에서 전달되어 사용할 수 있는 로직을 가진 중괄호 역할
-일급 객체의 역할을 할 수 있다
*일급객체는 전달인자로 보낼 수 있고, 변수 / 상수 등으로 저장 or 전달할 수 있고, 함수의 반환값이 될 수 있다
-참조타입이다
-함수는 클로저의 한 형태로 이름이 있는 클로저이다
코드를 효율적으로 작성하는데 큰 도움을 준다
인풋으로 함수를 받을 수 있는 함수를 의미한다
: 고차함수란 다른 함수를 전달인자로 받거나 함수 실행의 결과값을 함수로 반환하는 것을 말한다
: 어떤 함수의 return 값이 함수가 될 수 있고, 이 return 된 함수를 인자로 받는 함수가 존재한다
: Swift에서의 일급객체가 되기 위해서는 ???
-객체가 런타임에도 생성 가능하다?
-객체를 인자값으로 전달할 수 있어야 한다
-객체를 반환값으로 사용할 수 있어야 한다
-데이터 구조 안에 저장할 수 있어야 한다
{ (인자들) -> 반환타입 in
로직 구현
}
참고자료
https://jusung.gitbook.io/the-swift-language-guide/language-guide/07-closures
https://seolhee2750.tistory.com/117
https://velog.io/@bovet/swiftiOS-Optional-Binding
https://medium.com/@jgj455/%EC%98%A4%EB%8A%98%EC%9D%98-swift-%EC%83%81%EC%8B%9D-closure-aa401f76b7ce