함수형 프로그래밍은 프로그래밍의 패러다임입니다. 프로그래밍에 대한 선언적 접근 방식으로, 프로그램이 어떻게 달성해야 하는가 보다 프로그램이 달성해야 하는 것에 목적이 있습니다.
예시
function test(a,b){
return a+b
}
잘못된 예시
function test(a,b){
return a+b+c
}
함수형 프로그래밍의 원리
- 위에 예시 처럼 주어진 입력에 대해 함수가 항상 동일한 출력을 반환하여야 합니다.
- 사이드이펙트가 없어야 합니다. 사이트 이펙트란 실행 중인 함수 외부에서 함수에 영향을 주는 것들을 말합니다. 사이드이펙트가 없어지면 함수의 동작에 대한 추론하기가 쉽고 버그가 줄어듭니다.
- 객체 지향 프로그래밍과는 달리 개체에서 다른 개체로 상속하는 프로그래밍과는 달리 새로운 함수를 생성하기 위해서는 함수끼리 합성을 하는게 코드 작성 및 유지관리가 쉬워집니다.
함수형 프로그래밍의 장점
- 추론하기가 쉽습니다. 함수형 프로그래밍은 불변성과 사이드이펙트 방지 등으로 인하여 프로그램 동작을 추론하기가 쉽습니다.
- 프로그램의 동작을 추론하기 쉽다보니 코드에 대한 테스트를 작성하는 것이 쉽습니다.
- 프로그램 구성에 의존을 하기 때문에 코드를 재사용하기가 쉽습니다.
댓글