Posts 함수형 프로그래밍이란?
Post
Cancel

함수형 프로그래밍이란?

함수형 프로그래밍

특징

  • 함수형 프로그래밍은 순수함수의 조합으로 이루어진다.
    • 순수 함수: 동일한 입력에는 같은 값을 반환해야 한다.
    • 함수의 출력(return)은 오로지 그 함수에 입력된 값(input)에만 의존한다.
    • 함수의 실행은 프로그램의 실행에 영향을 미치지 않아야 한다. Self-contained되어야 한다, 즉, side effect가 없다.)
      • Side effect가 없다는 의미는 오로지 출력(return) 만 수행한다는 의미이다.
  • 둘 이상의 함수를 조합해서 더 큰 함수를 만드는 과정으로 전체 프로그램을 구축한다.
  • 고정된 범위의 Input에서 고정된 범위의 Output을 발생시킨다.
    • 개발자가 예측하지 않은 출력값을 방지하여 다른함수에 영향을 미치지 않는다.
  • 순수함수를 개선해야 할 때, 직접 수정하기보다 함수의 실행 시점이나, 실행 방식을 조정한다.
  • 인자의 수가 맞지 않을 때, 인자를 부분적으로 먼저 엮어서 미리 합쳐준다.

장점

  • Side effect가 없으므로 디버깅 과정에서 효율적일 수 있다.
    • 함수의 결과값이 예상과 다른 경우, 함수의 전체 값을 보지 않고 인풋값만 확인하면 된다.
  • 비교적 짧고, 간결하게 구현할 수 있다.

단점

  • 실질적으로 개발을 진행할 때, Side effect 없이 개발이 가능할지?
  • 함수형 프로그래밍에 익숙하지 않은 경우 해석하는데 어려움을 겪을 것 같다.
This post is licensed under CC BY 4.0 by the author.

Contents

Trending Tags