Java 공부
[Java 공부]함수형 프로그래밍
동성만능크리너
2024. 7. 31. 20:57
수학의 함수처럼, 특정한 데이터에 의존하지 않고, 관련 없는 데이터를 변경하지도 않으며, 결과값이 오직 입력값에만 영향을 받는 함수를 순수 함수라고 합니다.
순수 메서드 : input에 따라 output은 항상 일정한 것
순수 메서드가 아닌 메서드 : 메서드 안에서 제어할 수 없는 y라는 값에 의해 output이 바뀔 수 있는 것
public int someMethod(int x, int y) {
return x + y; //언제,어디서 뭘 어떻게 실행해도 x+y를 뱉어냄
}
========================구분선====================================
int z = 20;
public int notpure(int x, int y) {
return x + y + z; //메서드 안에서 제어할 수 없는 z라는 값에 의해 output이 바뀔 수 있음
}
결국 함수형 프로그래밍은 프로그램을 순수한 함수의 모음으로 바라보고 구현한다는 뜻
함수형 프로그래밍의 효능
1)검증이 쉽다. (검증이 필요한 부분만 검증할 수 있음)
2)성능 최적화가 쉽다(특정 input에 대한 output을 재사용할 수 있음 - 캐싱)
3)동시성 문제를 해결하기 쉽다. (함수는 다른 값의 변경을 야기하지 않음)
함수형 프로그래밍과 관련된 글
람다식
https://durururuk.tistory.com/11
[Java 공부] 람다식
Java는 함수형 프로그래밍을 위해 Java 8 부터 람다식을 지원한다.람다식은 함수 역할을 하는 매개변수를 가진 중괄호 블록이다. 데이터 처리부는 제공된 함수의 입력값으로 데이터를 넣고, 함수
durururuk.tistory.com
스트림
(추가 예정)