Programming Methodology   프로그래밍 기법, 프로그래밍 방법론, 프로그래밍 패러다임

(2023-11-19)

Declarative Programming, 선언형 프로그래밍


1. 프로그래밍 방법론 분류  :  형태(패러다임)적 분류 프로그래밍 (개발) 패러다임  :  프로그래밍 (개발) 방법론
     - 프로그램을 구축해 나아갈 때, 쓰이는 고급 프로그래밍 기법의 분류

  ㅇ 명령형 프로그래밍 (Imperative Programming) 또는 절차적 프로그래밍 (Procedural Programming)
     - 순차적 명령 수행을 기본으로 하는, 비교적 단순한 스타일의 코딩 방식
        . 절차식 프로그래밍 또는 프로시저 지향 프로그래밍 이라고도 함
     - 폰노이만 구조에 기반하여 변수(기억장소),배정문,반복문을 그 특징으로 함
     - 例) FORTRAN, Pascal, C 언어 등

  ㅇ 객체지향 프로그래밍 (OOP)
     - 모든 것을 객체로 표현하고 객체를 조립해가며 프로그램을 완성하게 됨
        . 명령형 프로그래밍 언어의 확장으로,
        . 프로그램이 절차(프로시저) 및 데이터를 함께 묶은 객체들의 집합으로 구성
     - 한편, 프로시저 지향 프로그래밍 언어 / 절차식 프로그래밍 언어는,
        . 함수(또는 프로시저)가 중심이되고, 데이터는 보조 기능을 함
     - 例) Java, Ruby, C++ 언어 등

  ㅇ 선언프로그래밍 (Declarative Programming)
     - 주어진 문제에 정형화된 범용 문제 해결 알고리즘을 적용하는 방식
        . 원하는 데이터가 무엇인지 만 제시하고, 
        . `어떻게(=로직)/어떤 절차로` 얻을 것인지가 중요하지 않음 
        . 즉, 내부 코드를 어떻게 구현했는지, 데이터 흐름을 어떻게 제어하는지 등을 밝히지 않음
     - 例) SQL 등 

  ㅇ 함수형 프로그래밍 (Functional Programming)
     - 함수들의 집합/조합으로써 프로그램을 구성
        . 프로그램 제어함수로써 추상화시킴
     - 큰 틀에서, 선언적/적응적 프로그래밍(Declarative/Applicative Programming) 기법에 속함
     - 例) LISP, Scheme, Haskell 등

  ㅇ 논리형 프로그래밍 (Logical Programming)
     - 기호 논리학에 기반을 두고,
     - 데이터 간의 관계와 논리로써, 프로그래밍을 함

프로그래밍 방법론
   1. 프로그래밍 기법   2. 구조적 프로그래밍   3. 명령형 프로그래밍   4. 객체지향 프로그래밍   5. 함수형 프로그래밍   6. 프로그램 제어  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"