본문 바로가기
ETC

함수형 프로그래밍

by kiwi_wiki 2025. 1. 25.
728x90
반응형
  • 불변성(Immutability): 한 번 생성된 값이 변하지 않는 특성
  • 순수 함수(Pure Functions): 동일한 입력에 대해 항상 동일한 출력을 반환하고, 사이드 이펙트가 없는 함수
  • 함수의 일급 객체(First-Class Functions): 함수를 값처럼 다룰 수 있도록 하는 개념으로 함수를 변수에 할당하거나, 다른 함수의 매개변수로 전달하거나, 함수의 결과로 반환 가능
  • 고차 함수(Higher-Order Functions): 하나 이상의 함수를 인자로 취하거나 함수를 결과로 반환하는 함수
  • 재귀(Recursion): 함수가 자기 자신을 호출하여 문제를 해결하는 방법
  • 람다(Lambda): 이름이 없는 함수. 일급 객체로 취급되어 변수에 저장하거나 전달 가능
  • Side Effect: 함수가 자신의 상태를 변경하거나 프로그램의 상태를 변경하는 행동
  • 함수 합성(Function Composition): 두 개 이상의 함수를 하나의 함수로 결합하는 과정
  • 지연 평가(Lazy Evaluation): 실제로 그 값을 필요로 할 때까지 표현식의 평가를 미루는 계산법
  • Type Systems: 함수형 프로그래밍 언어는 종종 강력한 타입 시스템을 가지고 있어 런타임 에러를 최소화하는데 도움을 줌
  • 모나드(Monads): 순수 함수형 언어에서 사이드 이펙트를 처리하는 데 사용되는 디자인 패턴
  • 클로저(Closures): 그 범위에서 정의된 프리 변수(free variable)를 포착할 수 있는 함수
  • 카리 함수(Currying): 여러 개의 인수를 가진 함수를 단일 인수의 함수로 만드는 과정
  • 참조 투명성(Referential Transparency): 동일한 인수에 대한 함수의 호출이 프로그램의 실행 상태에 관계없이 항상 동일한 결과를 반환하도록 함
  • Functional Languages(Haskell, Clojure, F#, Scala): 여러 함수형 프로그래밍 언어들이 있으며 각각 약간씩 다른 기능과 특성을 가지고 있음
728x90
반응형

'ETC' 카테고리의 다른 글

헥사고날 아키텍처  (0) 2025.01.24
MSA & Monolithic Architecture  (0) 2025.01.24
SAGA 패턴  (0) 2025.01.24
Sync & Async / Blocking & NonBlocking  (0) 2023.07.07
맥(Mac) 에서 ip 주소 확인하는 방법  (0) 2021.01.18