용어 (개발용어)/함수형 프로그래밍 용어들
함수형 프로그래밍, 모나드(Monad) 란?
모나드란? 함수형 프로그래밍에서 자주 등장하는 디자인 패턴 중 하나이다. 일련의 연산 과정들을 감싸주는 컨테이너 혹은 래퍼이며, 예측 가능하고 구성 가능한 방식으로 이 단계들을 함께 연결(chaining) 하는 방법을 제공한다. 사이드 이펙트를 핸들링하거나, 불확실한 상태를 이용한 연산, 비동기 연산 등 평범하게 동기적으로 흘러가지 않는 연산을 처리할 때 코드가 복잡해지기 쉬운데, 이를 간단히 처리할 수 있게 해준다. 자바스크립트의 Promise 객체, 자바의 Optional 객체의 역할과 같다. 코드의 작성 시점에는 내부의 결과를 모르는데도 결과의 케이스에 따른 로직을 작성할 수 있다. Promise 객체는 비동기 연산을 캡슐화하고 체이닝한다. Optional 객체는 있을지 없을지 모르는 값에 대한 연..