Computer Science

프로그래밍 패러다임(작성중)

thenutcracker 2023. 5. 19. 11:08

1. 프로그래밍 패러다임(programming paradigm) 이란?

특정 관점과 접근 방식에 따른 개발자의 코딩방식

 

여기에서 패러다임(paradigm)의 사전적 정의는 다음과 같다


한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계.

또는, 사물에 대한 이론적인 틀이나 체계. 순화어는 '틀'

"천동설과 지동설은 서로 다른 시대의 패러다임의 산물이다"

정의 출처 : Oxford Languages


이를 프로그래밍으로 적용해보자 
개발자는 프로그래밍과 관련된 이론적 체계 혹은 틀에 따라서
'어떻게 프로그래밍을 할 것인가'
스스로 질문을 던지고, 특정 관점과 방식을 바탕으로 '프로그래밍'을 하는 것으로 적용할 수 있다.
 

2. 프로그래밍 패러다임의 변화

  • 통상적으로 프로그래밍 패러다임은 3가지를 의미한다.
 절차적 프로그래밍(PP, Procedure Programming)
 객체지향 프로그래밍(OOP, Object Oriented Programming)
 함수형 프로그래밍(FP, Functional Programming)
  • 등장순서는 함수형 →객체지향 → 절차적
  • 프로그래밍 패러다임은 '접근방식'과 '사용환경'에 따라 유동적으로 활용
  • 각각 프로그래밍 패러다임은 장단점이 존재하며 상호 보완적 특성을 가진다

 

3. 프로그래밍 패러다임의 분류

  • 선언형 프로그래밍(Declearative Programming) 
    • 절차형, 객제지향적 프로그래밍
  • 명령형 프로그래밍(Imperative Programming)
    • 함수형, 논리형 프로그래밍

<구조도 첨부>

 

 

4. 선언형 프로그래밍 vs 명령형 프로그래밍


어떻게(How) 할 것인가, 무엇(What)을 할 것 인가?


 

 

 

 

 

 
 

 

참조

https://iosdevlime.tistory.com/entry/CSBasic-%EC%A2%80-%EB%8D%94-%EB%82%98%EC%9D%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84-%EC%9C%84%ED%95%B4-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84