절차형 프로그래밍 (PP, Procedural Programming)
물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 됨
프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법
객체지향 언어보다 더 빨리 처리됨
절차적 언어의 종류
•
C, 포트란, 코볼
주요 특징
•
큰 기능을 처리하기 위해, 작은 단위의 기능(프로시저, 함수)을 구조화
◦
반복하여 활용될 가능성이 있는 기능(프로시저,함수)을 묶어 구조화
◦
이는 특정 기능을 재 활용할 수 있다는 장점
장점
•
컴퓨터의 처리구조와 유사해 실행속도가 빠르다
•
프로그램의 흐름을 쉽게 이해할 수 있으므로, 코드의 가독성이 높음
◦
담당하는 기능만 호출하여 결과를 확인할 수 있으므로, 매우 직관적
◦
다만, 기능 수행 위해 해당 프로시저를 직접 호출해야 함
단점
•
각 코드가 매우 유기성이 높아 유지보수가 어렵다.
•
기능(프로시저)를 만드는 ‘구조화’ 과정에서 시간이 다소 소요
◦
기능을 구현하기 위한 함수를 만들고, 인자를 전달하는 등 과정이 복잡
•
실행순서가 정해져 있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다.
◦
순서가 바뀌거나, 코드 상 오류가 있을 경우 큰 문제 발생 가능성
•
디버깅이 어렵다.
순차적(비구조적) 프로그래밍, 절차적(구조적) 프로그래밍
•
순차적 프로그래밍
◦
프로그래밍 패러다임에서 가장 처음 등장한 패러다임
◦
말 그대로, 순차적으로 위에서 아래로 흘러가는 프로그래밍 구조
•
절차적 프로그래밍
◦
절차는 프로시저를 이용한다는 의미
◦
프로시저란, 특정 행동 혹은 목표를 수행하기 위한 일련의 작업이자 순서
◦
최종 기능을 달성하기 위해, 작은 규모의 함수(function)를 활용