본문 바로가기
cs공부

함수형 프로그래밍이란?

by 프렌치13 2023. 2. 7.

함수형 프로그래밍은 프로그래밍의 패러다임입니다. 프로그래밍에 대한 선언적 접근 방식으로, 프로그램이 어떻게 달성해야 하는가 보다 프로그램이 달성해야 하는 것에 목적이 있습니다.


예시

function test(a,b){
  return a+b
}

잘못된 예시

function test(a,b){
  return a+b+c
}

함수형 프로그래밍의 원리

 

- 위에 예시 처럼 주어진 입력에 대해 함수가 항상 동일한 출력을 반환하여야 합니다. 

 

- 사이드이펙트가 없어야 합니다. 사이트 이펙트란 실행 중인 함수 외부에서 함수에 영향을 주는 것들을 말합니다. 사이드이펙트가 없어지면 함수의 동작에 대한 추론하기가 쉽고 버그가 줄어듭니다.

 

- 객체 지향 프로그래밍과는 달리 개체에서 다른 개체로 상속하는 프로그래밍과는 달리 새로운 함수를 생성하기 위해서는 함수끼리 합성을 하는게 코드 작성 및 유지관리가 쉬워집니다.

 

함수형 프로그래밍의 장점

 

- 추론하기가 쉽습니다. 함수형 프로그래밍은 불변성과 사이드이펙트 방지 등으로 인하여 프로그램 동작을 추론하기가 쉽습니다.

 

- 프로그램의 동작을 추론하기 쉽다보니 코드에 대한 테스트를 작성하는 것이 쉽습니다.

 

- 프로그램 구성에 의존을 하기 때문에 코드를 재사용하기가 쉽습니다. 

댓글