1. 구조적 프로그래밍 (Structural Programming)
ㅇ 프로세스 지향적인 관점에서 프로그래밍하는 전통적인 방법
ㅇ 때론, 절차식 프로그래밍 (Procedural Programming) 이라고도 함
- 여기서, 프로그램의 중심적인 단위는 `프로시져(함수)`가 됨
- 한편, 객체지향 언어에서 프로그램의 단위는 `클래스` 임
ㅇ 1970년대 유행
- 한편, 객체지향 프로그래밍은 1990년대부터 본격 시작됨
ㅇ Algol 60 이후의 파스칼,C 언어 등이,
- 주로, 이 기법을 사용하는 프로그래밍 언어 임
2. 주요 특징
ㅇ 하향식 설계
ㅇ goto 문법의 사용 금지 (gotoless)
- 과거 포트란(FORTRAN),코볼(COBOL) 언어에서는, goto 기반의 제어 흐름이 다반사였으나,
- 이를 while 문, case 문 처럼 고수준 구성 요소를 사용하여 구현하는 것
ㅇ 블록이라는 단위를 이용하여 프로그램을 작성 ☞ 블록 구조 참조
- 특정 프로그램 내에서, 하나의 시작점을 갖는 함수는 반드시 하나의 종료점을 갖음
ㅇ 순차/선택/반복을 조합(명령어들의 실행 여부를 제어)하여,
- 프로그램을 구조적으로 조립해가는 방식
* [참고] ☞ 프로그램 제어 구조(순차구조,선택구조,반복구조) 참조
ㅇ 제어 흐름을 구조화하기 위한 언어 구성 요소 例)
- if then else, for 문, while 문, case 문 등