프로그래밍 패러다임 (Programming Paradigm)

yeoro·2021년 7월 9일
0
post-thumbnail

📚 순차적 프로그래밍 (SP, Sequential Programming)

정의

필요한 기능이 있으면 계속 순서대로 추가해가며 구현하는 방식이다. 비구조적 프로그래밍(Non-Structured Programming)이라고도 한다.

코딩을 코드의 흐름, 순서에 기반하는 프로그래밍이며 가장 초기에 등장한 코딩 패러다임이다.

특징

int N;

for (int i = 0; i < 10; i++) {
	for (int j = 0; j < 10; j++) {
    ...
    if (N == 0) { goto A; }
    else if (N == 1) { goto B; }
    }
}
goto C;

A: printf("A\n");
B: printf("B\n");
C:
...

비구조적 프로그래밍에서는 goto문을 활용한다. 만약 이전에 작성했던 코드가 다시 필요하면 그 곳으로 이동하기 위함이다.

하지만, 규모가 커지면 goto문을 무분별하게 사용하게 되고, 코드가 어떻게 연결되어있는지 확인 조차 못하게 된다.

따라서 사람들은 코드의 중복을 최대한 피하기 위해서 코드를 단위화할 방법을 찾게 된다.


📚 절차적 프로그래밍 (PP, Procedual Programming)

정의

물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 비구조적 프로그래밍 기법이다. 대표적인 절차지향 언어에는 C언어가 있다.

장점

  • 컴퓨터의 작업 처리 방식과 유사해 실행속도가 빠름

단점

  • 필요한 것을 계속 순서대로 추가해나가는 방식이므로 규모가 커지면 흐름을 이해하기 어려움
  • 유지보수 및 디버깅이 어려움
  • 실행 순서가 정해져 있어서 코드의 순서가 바뀌면 동일한 결과를 보장하기 어려움


📚 객체지향 프로그래밍 (OOP, Object Oriented Programming)

0개의 댓글