🔷 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론
ex) 파이썬, 자바스크립트, C++, 자바(jdk 1.8이상)
선언형
, 명령형
으로 나뉘며, 선언형
은 함수형
, 명령형
은 객체지향
과 절차지향
으로 다시 나뉜다.🔷 무엇을
풀어내는가에 집중하는 패러다임이자 함수로 이루어진 프로그램을 지향하는 패러다임이다.
🔷 작은 순수 함수
들을 블록처럼 쌓아 로직을 구현하고 고차 함수
를 통해 재사용성을 높인 프로그래밍 패러다임
💡
순수 함수
출력이 입력에만 의존하는 것, 다른 전역 변수 등이 출력에 영향을 주면 순수 함수가 아님.
💡
고차 함수
함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것
🔷 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종으로 선언형의 반대이다.
🔷 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식
추상화
, 캡슐화
, 상속성
, 다형성
의 특징을 가지고 있다.자바를 공부하면서 많이 다뤘으니 자세한건 넘어간다. (자바 포스팅)
SOLID 원칙
을 지켜야한다.단일 책임 원칙(SRP)
개방-폐쇄 원칙(OCP)
리스코프 치환 원칙(LSP)
인터페이스 분리 원칙(ISP)
의존 역전 원칙(DIP)
🔷 로직이 수행되어야 할 연속적인 계산 과정으로 이루어진 프로그래밍 패러다임
❓ 그럼 가장 좋은 패러다임은 무엇일까
"그런 건 없어용."
여러 패러다임을 조합하여 상황과 맥락에 따라 패러다임 간의 장점만 취해 개발하는 것이 베스트다.