[iOS] 순수 함수와 함수형 프로그래밍

Zoe·2023년 12월 5일
0

iOS

목록 보기
29/39

Swift의 함수형 프로그래밍에 대해서 알아보자.

먼저 순수함수가 무엇일까?

순수함수란, 외부 상태에 의존적이지 않고, 어떤 사이드이펙트도 발생시키지 않는 함수

항상 같은 input에 대해서는 같은 output을 return하는 함수라고 할 수 있다.

순수 함수는 재사용하기 쉽고, 테스트하기 좋고, 예측이 가능하다는 점에서 장점이 있다.

var name = “zoe”
func getName() -> String { 
  return name 
}

위 getName 함수는 외부에 있는 변수인 name에 영향을 받는다.
위 함수를 순수함수로 수정해보자면,

func getName(_ name: String) -> String {
  return name
}

외부에 영향을 받지 않는 순수함수로 수정했다.

let name = “zoe”
func getName() -> String { 
  return name 
}

mutable하지 않은 name이므로 위 함수도 순수함수이다.

함수형 프로그래밍이란, 바로 이 순수함수를 이용해서 프로그래밍하는 것이다.
순수함수를 1급 객체로 간주하여 사용한다.

1급 객체로 간주한다는 것은

  • 변수나 데이터 구조 안에 담을 수 있다.
  • 파라미터로 전달할 수 있다.
  • 반환값으로 사용할 수 있다.
  • 할당에 사용된 이름과 무관하게 고유한 구별이 가능하다.

다음 시간에는 함수형 프로그래밍에서 함수의 composition에 대해 알아보자.

profile
iOS 개발자😺

0개의 댓글

관련 채용 정보