[IOS 로드맵] Functional Programming

willis18·2021년 9월 24일
0

IOS 로드맵

목록 보기
5/109

함수형 프로그래밍(Functional Programming) 이란?

함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다.
그러고 명령형 프로그래밍과 다르게 함수가 프로그램의 상태의 값을 바꾸지 않아서 입력값이 있으면 입력값에 의한 아웃풋만이 나오기에 다른 값을 건드리지 않은 안전성이 있다.

함수형 프로그래밍에서 순수함수란?

부작용(side-effect)이 없는 함수, 즉, 함수의 실행이 외부에 영향을 끼치지 않는 함수를 뜻한다. 따라서 순수한 함수는 스레드 안전하고, 병렬적인 계산이 가능하다.
예시 코드로는

z = f(x);
y = z * z;

다만 아래와 같은 경우는 순수함수가 아니다

z = random();
y = z * z;

랜덤이라는 함수는 호출때마다 아웃풋이 달라지기 때문에 입력값에의한 일정한 아웃풋을 만들어내는 순수함수의 범주를 넘어가 버리기 때문이다.

그리고 위처럼 변수에 함수를 할당하듯 이런것을 1급 객체라고 합니다.

1급 객체란?

프로그래밍 언어에서 함수의 파라미터로 전달되거나 리턴값으로 사용될 수 있는 객체

고차함수란?

함수를 파라미터로 받거나 함수를 리턴하는 함수를 고차함수 라고 합니다.
대표적으로 swift Foundation에 포함되어있는 filter, map, reduce 등이 있습니다

funtional programming도 자세한 기술은 swift 로드맵에서 기술하 도록 하겠습니다.

0개의 댓글