log.Sehee

프로그래밍 패러다임 (Programming paradigm) 본문

CS

프로그래밍 패러다임 (Programming paradigm)

Sehe_e 2023. 11. 9. 12:55

프로그래밍 패러다임

  : 프로그래밍 스타일, 전체적인 프로그래밍 방식

  프로그래밍을 구성하는 요소들을 어떤 관점으로 보고 이해하는지,

  어떤 관점을 가지고 개발을 할 지 결정하는데 도움을 주는 것

 

종류

명령형 프로그래밍 (Imperative Programming)

  1. 객체지향형 프로그래밍(OOP, Object-Oriented Programming)
  2. 절차지향형 (PP, Procedural Programming)

선언형 프로그래밍 (Declarative Programming)

  1. 논리형 (Logic Programming)
  2. 함수형 (FP, Functional Programming)

 


명령형 프로그래밍 (Imperative Programming)

  : 어떤 일을 어떻게 수행할 것인지에 대해 관점을 둔 프로그래밍

 

1. 객체지향형 프로그래밍(OOP, Object-Oriented Programming)

  : 기본 단위 '객체'를 만들고 데이터와 메소드의 상호관계 등 객체 간 상호작용으로 개발하는 프로그래밍 기법

  직관적이며 유지보수가 쉽다. (C++, JAVA, C# 등)

 

2. 절차지향형 (PP, Procedural Programming)

  : 위에서 아래로 순차적 진행, 프로그램이 유기적으로 연결되도록 구성하는 프로그래밍 기법

프로시저 호출의 개념을 바탕으로 한다. (C언어 등)

 


선언형 프로그래밍 (Declarative Programming)

  : 어떤 것을 나타낼 것인지에 대해 관점을 둔 프로그래밍

 

논리형 (Logic Programming)

  : 해결의 '속성들’에 주목하는 프로그래밍 기법을 지향하는 프로그래밍 기법

 

함수형 (FP, Functional Programming)

  : 작은 문제를 해결 하기 위한 ‘함수’ 단위로 개발을 하는 기법을 지향하는 프로그래밍 기법

 

순수함수

  • 동일한 인자가 주어졌을 때 항상 같은 값을 리턴하는 함수
  • 스레드에 안전하고 병렬적인 계산이 가능
  • 코드의 블록을 이해하기 위해 일련 상태 갱신을 따라갈 필요가 없고 국소 추론만으로 코드 이해 가능
  • 모듈적인 프로그램은 독립적으로 재사용할 수 있는 컴포넌트로 구성
  • 입력과 결과가 분리되어 있으며 재사용성이 높다

고차함수

  • 함수를 매개변수로 받는 함수
  • 함수를 반환 값으로 사용하는 함수
  • Map, Filter, Reduce ..

 

Comments