- 함수형 프로그래밍 이해
함수형 프로그래밍을 이해하기 위해서는 명령형(imperative) 프로그래밍과 선언형(declarative) 프로그래밍에 대한 이해가 필요하다.
명령형 프로그래밍은 기존의 방식으로 특정 기능을 수행하기 위해 how에 집중하는 방식이다.
선언형 프로그래밍은 특정 기능을 수행하기 위해 what에 집중하는 방식이다.
함수형 프로그래밍은 선언형 프로그래밍을 따르는 대표적인 프로그래밍 패러다임이다.
//명령형 프로그래밍
List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9);
int result = 0;
for(int n : list) {
if(n%2 == 0) {
result += n;
}
}
System.out.println(result);
//선언형 프로그래밍
int result2 = 0;
result2 = list.stream()
.filter(n -> n % 2 == 0)
.mapToInt(Integer::intValue)
.sum();
System.out.println(result2);
- 함수형 프로그래밍 정의