functional-programmingimmutabilitypure-function

함수형 프로그래밍 패러다임이란 무엇인가요?

예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

순수 함수는 무엇인가요?

부가 설명

프로그램이 커질수록 상태가 언제, 어디서 바뀌었는지 추적하기 어려워집니다. 같은 함수처럼 보여도 내부에서 전역 상태를 바꾸거나 외부 값에 의존하면 실행 순서에 따라 결과가 달라질 수 있습니다.

함수형 프로그래밍은 이런 문제를 줄이기 위해 계산을 함수의 입력과 출력 관계로 다룹니다. 같은 입력에는 같은 출력을 내고, 기존 값을 직접 바꾸기보다 새로운 값을 만들어 반환하는 식입니다. 그래서 코드의 일부를 따로 떼어 테스트하거나, 여러 변환 단계를 조합하기 쉽습니다.

JavaScript에서도 map, filter, reduce 같은 고차 함수를 통해 함수형 스타일을 자주 사용합니다. 배열을 직접 변경하면서 반복문 안에서 상태를 누적하기보다, 데이터를 어떤 규칙으로 변환하고 걸러내고 합칠지 표현하는 방식입니다.

한 줄 정리

함수형 프로그래밍은 순수 함수, 불변성, 함수 조합을 중심으로 프로그램을 구성하는 패러다임입니다.