- 프로그래머에게 프로그램밍의 관점을 갖게 해주는 역할을 하는 개발 방법론
- ex) 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호 작용하는 객체들의 집합으로 볼 수 있게 하는 반면,
- 함수형 프로그래밍은 상태 값을 지니지 않은 함수 값들의 연속으로 생각할 수 있게 해준다.
1. 선언형과 함수형 프로그래밍
- 선언형 프로그래밍이란? ‘무엇을’ 풀어내는가에 집중하는 패러다임이며, “프로그램은 함수로 이루어진 것이다”라는 명제가 담겨있는 패러다임이기도 하다.
- ex) 배열만 받아서 최댓값을 구하는 함수 ⇒ 순수함수
<aside>
💡 함수형 프로그래밍은 이와 같은 작은 “순수 함수”들을 블록처럼 쌓아 로직을 구현하고, 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임이다.
</aside>
<aside>
💡 자바스크립트는 단순하고, 유언한 언어이며, 함수가 일급 객체 이기 때문에 객체지향 프로그래밍 보다는 함수형 프로그래밍 방식이 선호된다.
</aside>
순수함수
고차함수
- 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는것
2. 객체지향 프로그래밍 (OOP)
- 객체 지향 프로그래밍은 객체의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식
- 설계에 많은 시간이 소요되며, 처리 속도가 다른 프로그램밍 패러다임에 비해 상대적으로 느리다.