함수형 프로그래밍 (Functional Programming)
→ 수학적 함수의 개념에 기반을 둔 프로그래밍 패러다임
- 순수 함수 : 동일한 입력에 대해 항상 동일한 결과를 반환
- 불변성 : 데이터가 변경되지 않고, 변경이 필요한 경우에는 새로운 데이터 생성
- 고차 함수 : 함수를 변수에 할당하거나 인수로 전달할 수 있어 함수 추상화 및 재사용 용이
- 참조 투명성 : 함수 호출을 결과로 대체하여 코드 이해 및 최적화
- 재귀 : 반복 대신 재귀를 사용하여 코드를 간결하게 유지
명령형 프로그래밍 vs 함수형 프로그래밍
장점
- 간결하고 가독성 높은 코드 작성 가능 → 유지 보수 용이
- 순수 함수 & 불변 데이터 → 단위 테스트 및 TDD 용이
- 병렬 및 동시프로그래밍에 적합
- 메모리 사용 최적화 및 불필요한 복사 방지
단점
- 학습 시간 소요
- 재귀 사용 시 스택 오버플로우 발생 가능성
- 라이브러리 성능 면에서 제한 가능성
- 이해하기 어렵고 복잡한 높은 추상화 수준
references
👉 https://thecho7.tistory.com/entry/면접-꿀팁-함수형-프로그래밍Functional-Programming이란