Backend/Java

절차 지향 프로그래밍 vs 객체 지향 프로그래밍

Coffebara 2024. 8. 2. 19:32

절차 지향 프로그래밍 vs 객체 지향 프로그래밍

 

절차 지향 프로그래밍

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

 

객체 지향 프로그래밍

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

 

둘의 중요한 차이

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

 

객체

  • 속성: 데이터, 멤버 변수 
  • 기능: 메서드

객체 지향의 특징은 속성과 기능을 하나로 묶는 것 뿐만 아니라 캡슐화, 상속, 다형성, 추상화, 메세지 전달 같은 다양한 특징이 있다.

 

모듈화

  • 레고 블럭처럼 필요한 블럭을 가져다 꼽아서 사용할 수 있게 메서드를 조립해서 프로그래밍을 작성하는 방식

 

캡슐화

  • 속성과 기능을 하나로 묶어서 필요한 기능을 메서드를 통해 외부에 제공하는 것을 캡슐화라 한다. 
  • 코드가 읽기 쉬워지고, 유지보수에 용이하다.

 

 

출처 - 김영한의 실전 자바 기본편