Java - 개념정리 7
2022. 4. 7. 15:14ㆍJava
반응형
순수함수 - 함수형 프로그래밍
함수형 프로그래밍 : 부수 효과를 없애고 순수 함수를 만들어 모듈화 수준을 높이는 프로그래밍 패러다임
- 부수 효과 = 외부의 상태를 변경하는 것 또는 함수로 들어온 인자의 상태를 직접 변경하는 것
- 순수 함수 = 부수효과가 없는 함수 즉, 어떤 함수에 동일한 인자를 주었을 때 항상 같은 값을 리턴하는 함수 & 외부의 상태를 변경하지 않는 함수
예시)
- 순수함수
function add(a,b){
return a + b;
}
console.log( add(10,5) );
// WHY?: 언제, 어디서 실행해도 add(10,5)는 항상 15를 리턴하고 외부 상태를 변경하지 않았기 때문
- 순수함수가 아닌 것
var c = 10;
function add2(a,b){
return a + b + c;
}
console.log(add2(10,3));
console.log(add2(10,3));
c = 20;
console.log(add2(10,3));
// WHY?: 함수내에서 외부의 c라는 변수 값이 변하면 결과값도 달라지기 때문
// IF: 만약 c가 상수 즉, 변하지 않는 수라면 add2는 순수 함수
// -- WHY?: 외부의 값을 참조해도 결과값이 동일한 인자에 대해서 같기 때문 (즉, 리턴 값을 보장해주기 때문)
728x90
반응형
'Java' 카테고리의 다른 글
Java - 개념정리 6 (0) | 2022.04.07 |
---|---|
Java - 개념정리 5 (0) | 2022.04.05 |
Java - 개념정리 4 (0) | 2022.04.05 |
Java - 개념정리 3 (0) | 2022.04.05 |
Java - 개념정리 2 (0) | 2022.04.05 |