1. 함수형 프로그래밍
1) 함수형 프로그래밍
'함수형 프로그래밍' 이란 프로그램을 만드는 방법 중 하나입니다.
우리가 익숙하게 사용해왔던 방법들은 명령형 프로그래밍이라고 할 수 있습니다. 하지만 병렬처리나 비동기 처리를 할 때는 명령형 프로그래밍보다는 함수형 프로그래밍이 적합합니다.
함수형 프로그래밍은 외부 효과 (side effect) 가 없는 함수만의 조합을 이용해 프로그래밍을 하는 방법입니다.
함수형 프로그래밍은 외부 세계의 값을 읽어오지 않고, 영향을 미치지도 않는 함수만을 만드는 것을 목표로 하는 프로그래밍 패러다임입니다.
함수형 프로그래밍은 변수와 for의 사용을 가급적이면 줄이는 방향으로 프로그램을 개발합니다. for문을 사용하지 않는 대신 재귀를 사용합니다. [1] (182)
2) 일급 (first-class) 함수
함수형 프로그래밍은 '일급 함수'라는 용어로 표현할 수 있습니다. 일급이라는 것은 쉽게 설명하면 모든 것을 값, 객체로 취급하자는 것입니다. 즉 일급 함수라는 것은 '값'으로 다룰 수 있는 함수를 뜻합니다. [1] (183)
2. 커링 (curring)
여러 개의 파라미터를 갖는 함수가 있을 때 그 중 일부의 파라미터만 필요로 하는 함수를 만드는 기법을 커링이라고 합니다. 이 구조를 만들어낸 커링이라는 사람의 이름을 따서 지었습니다. [1] (196)
[JavaScript 예제]
const add = x => y => x + y;
const add10 = add(10);
console.log(add10(20));
console.log(add(10)(20));
[결과]
30
30
add 함수는 인자값이 2개가 들어와야 연산이 되는 함수입니다. 그래서 add(10)(20) 라고 써주어야 하지만 이 중 하나만 넣어주어 다시 함수를 리턴하게 할 수 있습니다.
add(10) 이렇게만 사용하면 아래와 같은 함수가 리턴됩니다.
const add10 = y => 10 + y;
Reference
[1] 초보자를 위한 Node.js 200제, 김경록, 정보문화사 (2018)
'Program' 카테고리의 다른 글
[Program] 오픈 소스 라이선스 (0) | 2022.09.19 |
---|---|
[Program] 변수 표기법 (0) | 2022.09.10 |