📖 WIPIVERSE

🔍 현재 등록된 정보: 34,083건

구조적 프로그래밍

구조적 프로그래밍(Structural Programming)은 컴퓨터 프로그램의 가독성, 유지보수성 및 전반적인 품질을 향상시키기 위해 제어 흐름을 표준화된 구조로 제한하는 프로그래밍 패러다임 중 하나이다. 1960년대 후반 에츠허르 데이크스트라(Edsger W. Dijkstra) 등이 goto 문과 같은 무분별한 분기 사용이 프로그램 이해 및 디버깅을 어렵게 만든다는 문제 의식에서 출발하여 널리 알려졌다.

핵심 원리는 프로그램의 제어 흐름을 다음과 같은 몇 가지 기본적인 구조만으로 구성하는 것이다:

  1. 순차(Sequence): 명령문들이 작성된 순서대로 실행된다.
  2. 선택(Selection): 조건에 따라 다른 코드 블록이 실행된다 (예: if-then-else, switch-case).
  3. 반복(Iteration/Repetition): 조건이 만족되는 동안 코드 블록이 반복 실행된다 (예: while, for, repeat-until).

이러한 기본 구조들은 서로 중첩되거나 조합되어 복잡한 프로그램을 형성한다. goto 문과 같이 프로그램 실행 흐름을 임의의 위치로 이동시키는 명령문의 사용은 지양된다.

구조적 프로그래밍은 프로그램의 실행 경로를 예측 가능하고 이해하기 쉽게 만들어 코드의 오류를 줄이고 수정 및 확장을 용이하게 하는 데 기여했다. 이는 절차적 프로그래밍 언어(C, Pascal 등)의 설계에 큰 영향을 미쳤으며, 현대의 객체 지향 및 함수형 프로그래밍 패러다임 내에서도 메소드나 함수의 구현 단계에서 여전히 기본적인 프로그래밍 기법으로 활용된다. 비구조적 프로그래밍(unstructured programming) 방식, 특히 goto 문을 자유롭게 사용하는 방식과 대비된다.