함수형 프로그래밍은 하나의 프로그래밍 패러다임으로 정의되는 일련의 코딩 접근 방식이며, 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임 -위키
가독성을 높이고 유지보수를 용이하게 해준다.
특징
순수함수
동일한 입력에는 항상 같은 값을 반환해야 하는 함수
함수의 실행이 외부에 영향을 끼치지 않는 함수
함수 내부에서 인자의 값을 변경하거나 프로그램 상태를 변경하는 Side Effect가 없는 것
비상태, 불변성
함수형 프로그래밍에서의 데이터는 변하지 않는 불변성을 유지.
데이터의 변경이 필요한 경우, 데이터의 복사본을 만들어서 변경한 복사본을 사용해 작업을 진행.
선언형 함수
무엇을 할 것인가에 주목
1급 객체
다음과 같은 것들이 가능한 객체를 의미한다.