2025-08-02 16:23

Status:

Tags: 소프트웨어 공학

함수형 프로그래밍

  • 내부 동작을 하나하나 명령하는게 아니라 어떤 결과를 원하는지 ‘선언형’ 으로 개발
  • 변수 변경과 상태 의존 제거해 사이드 이펙트 최소화
  • 모듈화 해서 각 함수 단위로 나눠서 프로그래밍 가능

핵심 개념

  • 순수 함수: 동일 입력엔 동일한 결과, 사이드 이펙트 없음
  • 불변성: 데이터 변경 금지, 생성은 가능
  • 고차 함수: 함수를 인자로 받거나 반환하는 함수
  • 재귀: 함수 자기 자신 호출
  • 일급 함수: 함수를 변수에 할당, 인자 전달, 반환 가능

함수형 메서드

  • 보통 언어별로 배열 등과 같이 이를 처리하는 메서드들이 존재한다.
  • 명령형 프로그래밍으로 처리할 때는 모든 과정을 직접 명령해야 하지만 함수형에서는 메서드 체이닝 해서 해결
  • 명령형이 ‘어떻게 ’ 할지 명시한다면 함수형은 ‘무엇을’ 할지 선언한다.
  • 직접 변수를 건드리지 않기 때문에 익숙해지면 코드도 간결해지고 더 좋다.

References

리액트 훅 객체지향 프로그래밍

함수형 프로그래밍 핸드북 자바스크립트로 함수형 프로그래밍 핸드북 객체 지향 방식과 함수형 프로그래밍의 차이점 비교 자바스크립트_ 일반적인 방식 vs 함수형 프로그래밍 비교 코드