[swift] 컬렉션의 함수형 프로그래밍

최근에 많은 프로그래밍 언어에서 함수형 프로그래밍이 각광받고 있습니다. 함수형 프로그래밍은 코드를 더 간결하고 읽기 쉽게 만들어주며, 잠재적으로 오류를 줄여주는 장점이 있습니다. Swift 언어에서도 컬렉션을 다룰 때 함수형 프로그래밍의 장점을 살릴 수 있는 다양한 메서드들이 제공됩니다.

1. map과 filter

mapfilter는 컬렉션에 포함된 요소들을 변환하거나 걸러내는데 사용됩니다.

예를 들어, 아래와 같이 정수 배열을 선언하고 map 메서드를 이용해 각 요소에 2를 곱하는 예제를 살펴보겠습니다.

let numbers = [1, 2, 3, 4, 5]
let doubledNumbers = numbers.map { $0 * 2 }
print(doubledNumbers) // 출력: [2, 4, 6, 8, 10]

filter 메서드를 이용하면 다음과 같이 홀수만 걸러낼 수 있습니다.

let oddNumbers = numbers.filter { $0 % 2 != 0 }
print(oddNumbers) // 출력: [1, 3, 5]

2. reduce

reduce 메서드는 컬렉션 내의 모든 요소를 조합하여 단일 값으로 만들어줍니다. 예를 들어, 아래와 같이 배열의 모든 요소의 합을 구할 수 있습니다.

let sum = numbers.reduce(0, +)
print(sum) // 출력: 15

3. sorted

sorted 메서드는 컬렉션의 요소들을 정렬해주는데 사용됩니다.

let sortedNumbers = numbers.sorted(by: >)
print(sortedNumbers) // 출력: [5, 4, 3, 2, 1]

결론

Swift의 함수형 프로그래밍을 활용하면 컬렉션을 다룰 때 코드를 간결하게 작성할 수 있으며, 컬렉션의 요소를 효과적으로 처리할 수 있습니다. map, filter, reduce, sorted 등의 메서드를 적재적소에 활용하여 코드를 더 읽기 쉽게 작성할 수 있습니다.

참고문헌: Swift 공식 문서