절차 지향과 객체 지향 프로그래밍에 대해 설명해 주세요.

절차 지향 프로그래밍

  • 이름 그대로 절차를 지향하는, 실행 순서를 중요하게 생각하는 방식이다.

  • 절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, 어떻게를 중심으로 프로그래밍 한다.

  • 대표적인 언어 : C 언어

  • 장점 : 컴퓨터의 처리구조와 유사해 실행속도가 빠르다.

  • 단점 : 코드의 순서가 바뀌면 동일한 순서를 보장하기 어렵다.

객체 지향 프로그래밍

  • 이름 그대로 객체를 지향하는, 객체를 중요하게 생각하는 방식이다.

  • 객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, 무엇을 중심으로 프로그래밍 한다.

  • 대표적인 언어 : Java

  • 장점 : 캡슐화, 상속, 다형성 같은 다양한 기법을 사용할 수 있다.

  • 단점 : 절차 지향 언어보다 실행속도가 느리다.

둘의 중요한 차이

  • 절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향에서는 데이터와 그 데이터에 대한 행동(메서드)이 하나의 객체 안에 함께 포함되어 있다.

    • 객체란? : 세상의 모든 사물을 단순하게 추상화해 속성(데이터)과 기능(메서드)으로 모델링한 것

  • 객체 지향 프로그래밍은 모든 사물을 속성과 기능을 가진 객체로 생각하는 것이다. 객체에는 속성과 기능만 존재한다.

  • 이렇게 단순화하면 세상에 있는 객체들을 컴퓨터 프로그램으로 쉽게 설계할 수 있다.

  • 이런 장점들 덕분에 지금은 객체 지향 프로그래밍이 가장 많이 사용된다.

Last updated