반응형
함수형 프로그래밍이 추구하는 것
함수나 객체의 mutable(변함)
immutable(불변)을 관리하여 side effect를 줄이고자 함.
수학적인 사고로 코드를 간결하게 하고자 함
변수나 객체를 여기저기서 건들지 말자 (실행된 함수의 결과는 동일해야함)
순수함수
결과가 같은 함수, 외부 래퍼런스를 사용하지 않는 함수
입력된 값의 결과는 언제나 같아야함
전역적 참고 x
입력받아 처리
변수,객체,함수 모두
고차함수
함수형 변수를 입력받고 함수형 변수를 리턴하는 함수
상태 = 조건문 없는 순차적인 프로그래밍을 위해 함수를 받고 넘겨주는 구조
1등시민
일종의 정책적인 단어, 함수형 언어에서 함수가 가져야할 중요한 기능에 대해서 강조한 것
1. 변수나 데이터 구조안에 담을 수 있다
2. 파라미터로 전달할 수 있따
3. 반환값으로 사용할 수 있다.
Lambdas
함수형 프로그래밍의 필수요소
식별자 없이 실행 가능한 함수 표현식 가독성을 위해 코드를 줄이는것
요즘 언어의 유행, 자바에서는 필수 요소
함수형 프로그래밍에서는 자주사용
일반적인 형식
{변수 정의 -> 함수구현}
함수형 변수선언
var 이름 = { 변수 정의 -> 함수구현}
함수형 변수 형 선언 C/C++ 함수 포인터와 유사
이름 : (변수정의) -> 리턴형
728x90
반응형