POP (Procedural-Oriented Programming, 절차 지향 프로그래밍)

박영준·2023년 3월 31일
0

Programming

목록 보기
4/6

1. 정의

  • 순차적인 처리가 중요시된다.

  • 프로그램 전체가 유기적으로 연결 되도록 만드는 프로그래밍 기법

  • 단순히 순서대로 명령을 수행하는 것을 의미하는 것이 아닌 프로시저(절차) 호출의 개념을 바탕으로하는 구조적 프로그래밍
    (여기서 "절차"는 프로시저 or 함수로 해석)

  • 반복되는 동작을 함수 및 프로시저 형태로 모듈화하여 사용하는 방식

  • 절차 지향 프로그래밍을 지원하는 언어 : C, 파스칼, 코볼

프로시저

  • 리턴값이 없는 함수
  • 예시
    : 데이터를 출력하는 용도로 사용하는 printf 와 같은 함수를 프로시저라고 한다.
    (엄밀히 따지면 printf 도 리턴값이 있지만 본래 목적은 이 리턴과 무관하기 때문에 프로시저에 가까움)

2. 장단점

장점

  1. 컴퓨터의 처리구조와 유사해 실행속도가 빠르다.

단점

  1. 유지보수가 어렵다.

  2. 실행 순서가 정해져 있으므로, 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다.

  3. 디버깅이 어렵다.

  4. 프로시저라는 것 자체가 너무 추상적이다.

    도서관의 도서 관리 프로그램을 개발 中 '책'이라는 자료형 & 책에 대한 함수를 구현하려고 한다.

    그러나, 절차 지향 프로그래밍에서는 이 둘을 따로 생각할 수 밖에 없다.
    책은 책이고, 책에 관한 함수는 따로 있기 때문이다.
    같은 소스코드 파일 내에 있더라도, 이 둘의 연관 여부는 단 번에 알아차리기 어렵다.
    → 즉, 논리적으로 묶여있을 수 없는 구조이기 때문에 동작이 추상적인 것이다.
    → '객체지향 프로그래밍' 의 등장 배경이 됨


참고: 절차지향(Procedural Programming), 객체지향(Object Oriented Programming) 장단점 및 차이점
참고: 객체지향 프로그래밍 제대로 이해하기

profile
개발자로 거듭나기!

0개의 댓글