Swift 기초 문법 - 27. 고차함수 Higher Order Functions

정성윤·2023년 7월 21일
0

Swift 이론

목록 보기
29/64

고차함수 - Higher Order Functions

고차함수는 함수를 인자로 받거나 함수를 반환하는 함수를 말합니다.

스위프트에서는 여러가지 고차함수가 제공되고 있으며, 일반적인 고차함수로는 map, filter, reduce가 있습니다. 컬렉션에 대해 작업을 수행하고 새로운 컬렉션을 반환합니다.

  1. map :
    컬렉션의 각 요소에 대해 특정 연산을 수행하고, 그 결과를 새로운 컬렉션으로 반환합니다.

  2. filter :
    컬렉션의 요소 중 특정 조건을 만족하는 요소들로 새로운 컬렉션을 생성하여 반환합니다.

  3. reduce :
    컬렉션의 요소를 결합하여 단일 값으로 줄여 반환합니다. 주로 누적된 값을 구할 때 사용합니다.

let numbers = [1, 2, 3, 4, 5]
// map: 각 요소를 제곱하여 새로운 배열을 생성
let squaredNumbers = numbers.map { $0 * $0 } // [1, 4, 9, 16, 25]
// filter: 짝수만을 걸러내는 새로운 배열 생성
let evenNumbers = numbers.filter { $0 % 2 == 0 } // [2, 4]
// reduce: 모든 요소를 더하여 합산
let sum = numbers.reduce(0, +) // 15

고차함수는 또한 클로저를 이용해 사용자 정의 연산을 적용할 수 있습니다.

기본적인 map, filter, reduce 내장함수 이외에도
고차 함수의 정의에 맞게 직접 사용할 수도 있습니다.

참고(출처) : 개발하는 정대리, 야곰(Swift5)

profile
이유있는 스위프트 개발자

0개의 댓글