티스토리 뷰

IOS

Higher Order Function 이란

땡욱 2023. 5. 4. 15:33

Higher Order Function은 함수를 다루는 함수입니다.
즉, 다른 함수를 인자로 받거나 함수를 반환하는 함수를 말합니다.
Swift에서 Higher Order Function을 사용하면 코드의 가독성이 높아지고 간결해지며, 코드 재사용성이 증가합니다.

Swift에서 가장 많이 사용되는 Higher Order Function은 다음과 같습니다.

  1. map: 컬렉션의 모든 요소에 대해 동일한 연산을 수행하고 새로운 컬렉션을 반환합니다.
  2. filter: 컬렉션의 모든 요소 중 조건을 만족하는 요소만을 포함한 새로운 컬렉션을 반환합니다.
  3. reduce: 컬렉션의 모든 요소를 합산하여 하나의 결과 값을 반환합니다.
  4. sorted: 컬렉션의 요소를 정렬한 새로운 컬렉션을 반환합니다.
  5. compactMap: nil이 아닌 값들로 이루어진 새로운 컬렉션을 반환합니다.

예를 들어, map 함수를 사용하여 컬렉션의 각 요소에 대해 동일한 연산을 수행하고 새로운 컬렉션을 반환하는 코드는 다음과 같습니다.

swift

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

위의 코드에서 map 함수는 numbers 배열의 각 요소를 2배로 만들어 새로운 배열인 doubledNumbers를 반환합니다.
이러한 방식으로 Higher Order Function을 사용하면 컬렉션의 요소를 처리하는 코드가 간단하고 가독성이 높아지며, 작성해야 할 코드 양도 줄어듭니다.

개발할때 많이 사용하는 함수들이었는데, 이런 함수들을 Higher Order Function이라고 하는걸 이제 알았네요

'IOS' 카테고리의 다른 글

Auto layout의 장단점  (0) 2023.05.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday