[참고 자료]

https://sc.greenart.co.kr/community/greenDesignNews_view?idx=1679

https://gold-dragon.tistory.com/295

절차지향언어 (Procedural Programming)

절차지향 프로그래밍에 쓰이는 언어를 절차지향언어라고 하며, 대표적인 예로는 c언어가 있습니다.

절차지향언어는 개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결되어야 합니다.

자동차 제조를 예로 들자면, 자동차는 엔진, 차체, 핸들, 의자, 바퀴 순으로 차례대로 만들어져야 합니다. 서로 분리되어도 안 되고, 순서가 틀려도 안 됩니다. 절차지향 프로그래밍 역시 이와 같습니다.

절차지향언어의 구조는 컴퓨터의 처리구조와 유사합니다. 따라서 실행 속도가 빠르다는 것이 장점입니다.

하지만, 핸들이 고장났다고 엔진부터 바퀴까지 전부 수리해야 한다면 얼마나 비효율적일까요?

소프트웨어가 눈부신 발전을 이루면서 절차지향언어의 단점이 두드러지게 됩니다.

객체지향언어 (Object-oriented Language)

먼저 객체란 구체적인 사물, 혹은 사람이 될수도 있고 추상적인 개념이 될 수도 있는 무언가입니다.

컴퓨터로 예를 들자면, 컴퓨터에 쓰이는 모든 부품(모니터, 키보드, 스피커 등)과 컴퓨터가 제공하는 모든 기능(화면이 켜짐, 소리가 남 등)이 전부 객체입니다.

객체지향언어란 프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도록 만드는 프로그래밍 언어입니다.

컴퓨터의 모든 부품을 적절히 연결하고 조립해서 컴퓨터가 제대로 작동하도록 만드는 것이라고 볼 수 있습니다.

우리가 익히 들어 알고있는 자바, c++, 파이썬