고차함수란 무엇인가? 함수를 다른 함수의 인자로 받거나 함수를 반환하는 함수라고 한다. 고차함수를 이해하기 위해서는 일급 객체(First-class object) 라는 개념을 이해하고 있어야한다. 일급 객체 특성 1. 함수/클로저를 변수에 할당 func add(_ a: Int, _ b: Int) -> Int { return a + b } let myFunction = add // add함수를 변수에 할당 myFunction(1,2) // 상수에 담아서 사용 가능 2. 함수/클로저를 매개변수로 전달 가능 func add(_ a: Int, _ b: Int) -> Int { return a + b } // calculate에 매개변수에 보면 _ operation: (Int, Int) -> Int 두개에 정수를..