인프런 커뮤니티 질문&답변
퀴즈
이 섹션에서 예제 프로그램들을 함수형 프로그래밍 스타일로 리팩토링하는 주된 목적은 무엇인가요?
새로운 프로그래밍 언어를 배우기 위해
Side Effect를 줄여 코드의 예측 가능성과 관리 용이성을 높이기 위해
프로그램 실행 속도를 극적으로 향상시키기 위해
비동기 작업을 처리하는 유일한 방법을 배우기 위해
답변 1
1
송치원
지식공유자
FP에서는 state를 갖지 않도록 프로그래밍 하기 위해 노력합니다.
일반적인 while이나 for 를 사용하면 값이 변하는 변수를 갖게 되고, 이 변수가 state 가 됩니다.
최대한 state가 없도록 하려는 방안중 하나로 재귀가 사용되는 것입니다.
state 없이 loop를 사용하는 방법중에 forEach 나 map 같은 것을 사용할 수도 있습니다.
while을 사용하더라도 state 없이 가능하다면 충분히 사용할 수 있습니다.
예제에서 재귀를 사용했던 것은 state 를 없애고 대신 함수의 입력값으로 처리할 수 있도록 변경하여기 위해서 재귀함수를 사용했던 것입니다.





