본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다.
1. 패러다임
- 프로그램은 순차, 분기, 반복, 참조로 구성
- 패러다임은 위 4가지 요소를 어떻게 이용할 지를 다룸
- 객체지향은 객체를 통해 묶고 객체간 통신함으로 프로그램이 동작함
- 함수형은 데이터를 함수를 이용해 새로운 데이터를 만들어 나가는 데이터 파이프 라인 형태로 작동
2. 함수형 패러다임
- 객체지향 추상화의 최소 단위가 객체인것 처럼, 함수형은 함수가 최소 단위
- 함수 단위로 나눠지므로 재사용성이 높음
- 불변성을 지향하기에 동작을 예측하기 쉽고 사이드 이펙트 방지
- 동시성 문제도 해결
- 객체지향은 제어 흐름의 간접적인 전환에 부과되는 규율
- 함수형은 변수 할당에 부과되는 규율
장점
- 상태가 없어, 사이드 이펙트가 ㅇ벗음
- 재사용성이 높음
- 코드가 짧고 간결
단점
- 상태가 없어, 상태 조작을 위해 많은 리소스를 사용해야 함
- 함수를 많이 쪼개야함
- 코드가 짧고 간결
3. 선언형 프로그래밍
- 기존 명령형 프로그래밍은 문제를 어떻게 해결해야 하는지 컴퓨터에게 명령을 내리는 방법
- 선언형 프로그래밍은 무엇을 해결해야할 지에 집중하고 해결 방법은 컴퓨터에게 위임
- Data Flow
4. 멀티 패러다임
- JavaScript는 멀티 패러다임이 가능
- 각 패러다임의 장점을 활용하기
Reference
'programming study > Computer Science' 카테고리의 다른 글
기초 JS, CS 상식 - 네트워크 기초 (0) | 2022.11.25 |
---|---|
기초 JS, CS 상식 - 객체지향과 프로토타입 (0) | 2022.11.24 |
기초 JS, CS 상식 - 암호화 기초 (0) | 2022.11.22 |
기초 JS, CS 상식 - 유니코드 (0) | 2022.11.20 |
자료구조와 알고리즘 - 힙 (0) | 2022.09.21 |