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)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"