함수형 프로그래밍은 무엇인가요?
함수형 프로그래밍 functional programming
- 수학 함수를 사용하고 부수 효과 side effect를 피하는 것이 특징인 프로그래밍 패러다임
- 부수 효과 없이 순수 함수 pure function만 사용하는 프로그래밍 스타일
- 부수 효과 : 함수가 리턴값 이외에 하는 모든 일
- 순수 함수 : 인자에만 의존하고 부수 효과가 없는 함수. 같은 인자를 넣으면 항상 같은 결과를 돌려준다.
하지만 실용적인 관점에서 위와 같은 함수형 프로그래밍의 정의는 문제가 있다.
- 실제로 부수 효과는 필요하다.
- 함수형 프로그래밍은 부수 효과를 잘 다룰 수 있다.
따라서 함수형 프로그래밍을 학술적인 접근보다는 기술과 개념으로 보는 것이 좋다.
액션 action과 계산 calculation, 데이터 data 구분하기
함수형 프로그래밍을 할 때에는 코드를 세 분류로 나누어야 한다.
- 액션
- 계산
- 데이터
{
firstname: "Harry",
lastname: "Potter",
}
/**/
sendEmail(to, from, subject, body)
sum(numbers)
/**/
saveUserDB(user)
string_length(str)
/**/
getCurrentTime()
[1, 15, 5, 100, 20]