1. 절차식 언어 (Procedural) / 명령형 언어 (Imperative) ☞ 프로그래밍 패러다임 참조
ㅇ 목적달성을 위해 프로그램이 `어떻게(=로직)` 작동하는지가 중요
ㅇ 계산중심적 (calculation-oriented) 언어
- 프로시져(함수) 또는 명령어가 중심이 되고, 데이터는 보조 기능을 하는 언어
- 즉, 프로그래밍을 할 때,
. 프로그램 전체 구조는 함수를 기준으로 디자인되고,
. 데이터는 한 함수에서 다른 함수로 전달되게 함
ㅇ 例)
- 절차식 언어 例 : C Language, BASIC, PASCAL, FORTRAN 등
- 비 절차식 언어 例 : 선언형 언어(SQL), 함수형 언어(LISP,...) 등
ㅇ 한편, 명령형 언어, 선언형 언어 간의 개략적인 비교
- 명령형 언어 (Imperative Language) : 컴퓨터가 어떻게 수행할 것인가에 중점을 둠
- 선언형 언어 (Declarative Language) : 컴퓨터가 무엇을 할 것인가에 중점을 둠
2. 절차적/명령형 프로그래밍의 특징
ㅇ 폰노이만 구조에 기반하여, 변수(기억장소),배정문,반복문을 그 특징으로 함
- 즉, 매 명령 마다 상태를 변형시키는, 일련의 명령어들로 구성된 프로그래밍 방식
- 항상, 프로그램 상태를 추적하도록, 프로그래머에게 집중력/주의력을 요구함
ㅇ 결국, 순차적 명령 수행을 기본으로 하며,
- 프로그램 제어(의도된 로직,Logic)에 따라,
- 순차적 실행 흐름(순차문)에,
- 실행 변화(조건부 실행,반복 실행,분기 실행)를 주게 됨
ㅇ 여기서, 프로그램의 중심적인 단위는 프로시져(함수)가 됨
- 한편, 객체지향 언어에서 프로그램의 단위는 클래스
. 데이터와 함수가 긴밀하게 묶여서 클래스라고 하는 패키지 형태로 캡슐화됨
. 객체지향 프로그래밍 방식은 근본적으로 다른 사고방식임