macOS, iOS
Functional Programming을 처음 본다면
SweetDev
2019. 7. 4. 18:59
Functional Programming은 "자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다" . OOP나 절차지향같은 프로그래밍 방법들을 배운 것처럼, 함수형 프로그래밍도 그의 한 예제이다.
Functional Programming의 가장 큰 특징 중 하나는 순수함수이다.
순수함수란, 부작용(side-effect)이 없는 함수, 즉, 함수의 실행이 외부에 영향을 끼치지 않는 함수를 뜻한다.
- 순수함수는 입력으로 주어진 것 외의 연산은 실행 하지 않음
- 순수함수는 부수효과(side effect)가 없어야 함
- 입력이 동일하면 출력이 동일해야함
- 상태의 변화가 없어야함
add(1,2) 이런 함수는 순수 함수라고 볼 수 있다. 어떤 값이나 상태를 바꾸지도 않고, 입력이 동일하면 출력이 동일하니까!
또 다른 특징은 익명함수(anonymous function) 이다.
스위프트의 클로저 자체가 익명함수이다 :)
{ () -> Void in
print("Hello World!")
}
마지막 특징은 고차함수다.
Swift의 map, filter, reduce를 이용하면 된다.
출처: https://zeddios.tistory.com/303 [ZeddiOS]
print((1..10).reduce(0) { $0 + $1 })
왕초보를 위한
안녕하세요 :) Zedd입니다. 저번에 에서 곰튀김님이 설명해주신 "Functional Reactive Programming 패러다임"을 듣고... 아 사람들이 그렇게 리액트, 리액트 하는지..그 리액트가 어떤건..
zeddios.tistory.com
고차함수
클로저