고차함수란?
고차함수는 다른 함수를 인자로 받거나, 함수는 반환하는 함수입니다. Swift에서는 이런 고차함수를 활용하면 보다 더 간결하고 유연한 코드를 작성할 수 있습니다.
예를 들어, 특정 배열을 나타내는 데이터를 다룰 때 반복문 대시 고차함수를 쓰면 코드를 더 직관적이고 짧게 작성할 수 있습니다. 이를 통해 가독성을 높이고 실수를 줄일 수 있습니다.
"배열의 모든 값을 2배로 만들고 싶다면?"
고차함수를 사용하지 않았을 때,
let numbers = [1, 2, 3, 4, 5]
var doubleNumbers : [Int] = []
for number in numbers {
doubleNumbers.append(number * 2)
}
print(doubleNumbers)
고차함수 map를 사용하였을 때,
let numbers = [1, 2, 3, 4, 5]
let doubleNumbers = numbers.map{ $0 * 2 }
print(doubleNumbers)
배열의 각 요소를 변환할 때 사용할 수 있습니다.
Swift의 대표적인 고차함수
Map : 데이터 변환
Filter: 조건에 맞는 요소만 선택
예를 들어, 배열에서 짝수만 추출하고 싶을 경우,
let numbers = [1, 2, 3, 4, 5]
let evenNumbers = numbers.filter{ number in
return number * 2 == 0 }
print(evenNumbers)
Reduce: 값을 하나로 축약
예를 들어, 배열의 합을 계산하고 싶을 경우,
let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0) {accumulated, current in
return accumulated + current
}
고차함수의 장점
- 반복문으로 처리해야 할 작업을 한 줄로 표현 가능하여 코드가 간결합니다.
- 데이터 흐름을 쉽게 이해할 수 있도록 가독성이 향상됩니다.
- 원래 데이터를 변경하지 않고 새로운 데이터를 반환할 수 있어 불변성이 유지됩니다.
'App Development > Swift' 카테고리의 다른 글
Swift의 에러 처리 (Error handling) (0) | 2024.12.06 |
---|---|
Swift에서 동기와 비동기의 차이 (0) | 2024.11.30 |
Swift의 매개변수(parameter) 정리하기 (0) | 2024.11.30 |
Swift에서의 completion (0) | 2024.11.26 |
Swift의 Closure 란? (0) | 2024.11.25 |