ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수형 프로그래밍이란?
    WEB 2020. 8. 9. 14:14
    728x90

    명령형 프로그래밍과 선언형 프로그래밍의 차이

    명령형 프로그래밍

    - 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명 - 절차지향 프로그래밍 - 수행되어야 할 연속적인 계산 과정을 포함하는 방식(C, C++ ...) - 객체 지향 프로그래밍 - 객체들의 집합으로 프로그램의 상호작용을 표현(Java, C++, C# ...)

    선언형 프로그래밍

    - 어떻게(How)보다는 무엇(What)과 같은지를 설명하는 방식 - 함수형 프로그래밍 - 순수 함수를 조합하고 소프트웨어를 만드는 방식(LISP, Haskell, Closure ...)

    차이점

    • 명령형 프로그래밍 : 알고리즘을 명시하고 목표는 명시 안함
    • 선언형 프로그래밍 : 알고리즘을 명시하지 않고 목표는 명시

    OOP와 FP의 차이점

    OOP(Object Oriented Programming)

    • Object들로 프로젝트가 구성되고 Object들의 연관 관계로 만들어짐
    • 기능의 최소 단위는 Module이고 연관된 Object로 구성되어있고 Object는 멤버 변수와 메소드로 이루어짐
    • 메소드가 실행될 때 멤버 변수를 사용
    • 메소드의 실행 결과는 멤버 변수의 상태에 따라 달라짐

    FP(Functional Programming)

    • 함수의 Input, Output이 있고 각각의 Input, Output 연결되어 하나의 Output이 만들어짐
    • 순수 함수는 동일한 Input에 대해 동일한 Output을 리턴
    • 상태를 가지지 않음
    • 기능의 최소 단위는 Function

    차이점

    • State의 유무
    • FP는 함수를 수행하도 함수 외부의 값이 변경되지 않음
    728x90

    'WEB' 카테고리의 다른 글

    [WEB] JWT란?  (0) 2020.08.25
    [Web] IaaS PaaS SaaS란?  (0) 2020.08.20
    [Web] Forwad와 Redirect의 차이  (0) 2020.08.02
    서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR)  (0) 2020.06.23
    Serverless란?  (0) 2020.06.22
Designed by Tistory.