👣 개요
프로그래밍 패러다임이란?
프로그래머에게 프로그래밍의 과점을 갖게 해주는 역할.
Ex)
객체 지향 프로그래밍 -> 프로그램은 객체들의 집합.
함수형 프로그래밍 -> 순수 함수들의 연속.
👣 선언형
선언형의 철학
프로그램은 함수로 이뤄진 것이다.
👣 순수 함수
전역 변수에 의해 출력이 훼손되는 것이 아니라
입력값이 같기만 하면 무조건 출력값도 같은 함수.
def add(a,b):
return a+b
👣 고차 함수
함수의 입력에 함수가 포함되는 함수.
def map(arr, func):
return func(arr)
👣 일급 객체
고차 함수를 사용하기 위해선 해당 언어가 일급 객체여야 함.
일급 객체 특징
1. 변수나 메서드에 함수를 할당할 수 있다.
2. 함수 매개변수에 함수를 할당할 수 있다.
3. 함수 리턴값이 함수일 수 있다.
👣 명령형
명령형의 철학
프로그램은 상태와 상태를 변경하는 명령문으로 구성되며, 제어 흐름을 명시적으로 제어한다.
👣 객체 지향 프로그래밍
아래 게시물에서 설명함.
👣 절차형 프로그래밍
일이 진행되는 방식을 그대로 코드로 구현한 프로그래밍.
코드 가독성이 매우 좋고 실행 속도가 빠르다.
하지만 모듈화하기 어렵고 유지 보수성이 떨어진다.
a = [1,2,3,4,5]
b = 5
for idx, i in enumerate(a):
a[idx] = i ** b
print(a)
👣 절차형 프로그래밍 vs 명령형 프로그래밍
절차형 프로그래밍
프로그램의 실행 중에 상태가 변경되고, 이를 통해 원하는 결과를 얻으려고 한다.
명령형 프로그래밍
상태 변경을 최소화하고, 대신 불변성(Immutability)을 강조한다.
'디자인 패턴' 카테고리의 다른 글
Facade Pattern - 구조 (0) | 2023.07.30 |
---|---|
객체 지향 프로그래밍 (0) | 2023.07.21 |
MVC Pattern - 아키텍쳐 (0) | 2023.07.19 |
Iterator Pattern - 행위 (0) | 2023.07.19 |
Proxy Pattern - 구조 (0) | 2023.07.19 |