고차함수란
다른 함수를 매개변수로 받거나, 함수 자체를 반환하는 함수
Swift에서는 배열이나 컬렉션을 처리할 때 유용하게 사용됨
map
- 배열의 각 요소에 주어진 변환 함수를 적용하여 새로운 배열을 반환

filter
- 배열의 각 요소 중 주어진 조건을 만족하는 요소들만 포함하는 새로운 배열을 반환

reduce
- 배열의 모든 요소를 주어진 클로저를 사용하여 하나의 값으로 합침

forEach
- 배열의 각 요소에 대해 특정 작업을 수행.
새로운 배열을 반환하지 않고, 각 요소에 대해 작업만 수행

flatMap
- 배열의 각 요소에 대해 주어진 변환 함수를 적용하고,
중첩된 배열을 평평하게 펼쳐 하나의 배열로 반환

compactMap
- 배열의 각 요소에 대해 주어진 변환 함수를 적용하고,
nil 값을 제거한 후 새로운 배열을 반환
