본문 바로가기
Programming/CS

명령형 프로그래밍과 선언형 프로그래밍

by Bam_t 2021. 12. 31.
728x90

1. 명령형 프로그래밍

명령형 프로그래밍은 input data를 받아들여 가공해 output data를 만들어내고 출력하는 구조의 프로그래밍 방식입니다. 즉, 문제를 어떻게(how) 해결할 것인지를 설명하는 프로그래밍 방식입니다.

예를 들면 회사로 출근을 하는 것을 명령형 프로그래밍으로 만들어보겠습니다.

  1. 집을 나선다.
  2. xxxx번 버스를 탄다.
  3. xxxx번 버스로 환승한다.
  4. 버스에서 내려 회사 건물에 들어간다.
  5. 사무실에 들어가 출근 인증을 한다. 

예시처럼 어떻게 해서 목적을 달성한다라는 프로그래밍입니다. 프로그램이 수행해야 하는 작업들을 일일히 나열하기 때문에 개념적으로 이해하기 쉽고, 익숙합니다. 

 

 

 

2. 선언형 프로그래밍

선언형 프로그래밍은 명령형 프로그래밍과는 대조되는 개념으로, 과정보다는 달성에 필요한 것에 집중하는 프로그래밍 방식입니다. 즉, 문제의 무엇(what)을 풀어내는지를 집중적으로 봅니다.

위의 예시와 같은 출근하기를 선언형 프로그래밍으로 소개하겠습니다.

  1. 출근을 한다.

예시처럼 어떻게 보다는 해야할 문제가 무엇이지에 대해 집중합니다. 즉, 명령형 프로그래밍에서는 알고리즘을 직접 구상하고 작성하는 것을 중요시했다면, 선언형 프로그래밍에서는 API를 가져다 쓰던, 알고리즘을 구현하던, 객체 메소드를 이용하던 목적을 달성하기만 하면 되는 것 입니다. 물론 효율을 챙기는 선에서요.

728x90

'Programming > CS' 카테고리의 다른 글

서버 사이드 렌더링과 클라이언트 사이드 렌더링  (0) 2022.02.05
함수형 프로그래밍  (0) 2022.01.12
SPA, Single Page Application  (0) 2021.12.09
OSI 7 Layer  (0) 2021.11.27
쿠키와 세션  (0) 2021.11.03

댓글