프로그램은 순차, 분기, 반복, 참조로 구성
그렇다면 위 4가지 요소로 어떻게 이용할 것인가를 정의하는 것이 프로그래밍 패러다임 이라고 할 수 있다.
프로그래밍은 크게 선언형 프로그래밍과 명령형 프로그래밍으로 나뉜다.
절차형, 객체지향, 함수형 프로그래밍은 설계에 대한 패러다임이다.
명령형 프로그래밍은 컨트롤 플로우 방식으로써 명령어를 통해 데이터를 제어하는 것을 목표로 한다.
즉, 무엇가를 작업하기 위해 어떻게 진행할 것이지를 명령어를 나열한다.
일이 진행되는 순서대로 프로그래밍을 하는 방법
절차지향 프로그래밍의 단점을 극복하기 위해서 등장
선언형 프로그래밍은 데이터 플로우 방식으로써 상태가 존재하지 않고 재귀나 파이프를 통해 데이터가 흘러가는 방식이다.
선언형 프로그래밍은 무엇을 해결해야 할지 집중하고 해결 방법은 컴퓨터에게 위임하는 방법이다.
즉, 무엇가를 작업하기 위한 방법을 정의한다.
함수형 프로그래밍은 거의 모든 것을 순수 함수로 나누어 문제를 해결하는 기법이다.
순수함수?
부작용이 제거된 함수!
부작용 = 함수가 결과값 이외에 다른 상태를 변경시키는 것
https://velog.io/@younoah/programming-paradigm
https://hymndev.tistory.com/76