절차 지향과 객체 지향 프로그래밍에 대해 설명해 주세요.
절차 지향 프로그래밍
이름 그대로 절차를 지향하는, 실행 순서를 중요하게 생각하는 방식이다.
절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, 어떻게를 중심으로 프로그래밍 한다.
대표적인 언어 : C 언어
장점 : 컴퓨터의 처리구조와 유사해 실행속도가 빠르다.
단점 : 코드의 순서가 바뀌면 동일한 순서를 보장하기 어렵다.
객체 지향 프로그래밍
이름 그대로 객체를 지향하는, 객체를 중요하게 생각하는 방식이다.
객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, 무엇을 중심으로 프로그래밍 한다.
대표적인 언어 : Java
장점 : 캡슐화, 상속, 다형성 같은 다양한 기법을 사용할 수 있다.
단점 : 절차 지향 언어보다 실행속도가 느리다.
둘의 중요한 차이
절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향에서는 데이터와 그 데이터에 대한 행동(메서드)이 하나의 객체 안에 함께 포함되어 있다.
객체란? : 세상의 모든 사물을 단순하게 추상화해 속성(데이터)과 기능(메서드)으로 모델링한 것
객체 지향 프로그래밍은 모든 사물을 속성과 기능을 가진 객체로 생각하는 것이다. 객체에는 속성과 기능만 존재한다.
이렇게 단순화하면 세상에 있는 객체들을 컴퓨터 프로그램으로 쉽게 설계할 수 있다.
이런 장점들 덕분에 지금은 객체 지향 프로그래밍이 가장 많이 사용된다.
Last updated