Backend/Java
절차 지향 프로그래밍 vs 객체 지향 프로그래밍
Coffebara
2024. 8. 2. 19:32
절차 지향 프로그래밍 vs 객체 지향 프로그래밍
절차 지향 프로그래밍
- 절차(순서)를 지향한다.
- 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, "어떻게"를 중심으로 프로그래밍 한다.
객체 지향 프로그래밍
- 객체를 지향한다.
- 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍 하는 방식이다. 즉 "무엇을" 중심으로 프로그래밍 한다.
둘의 중요한 차이
- 절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향에서는 데이터와 그 데이터에 대한 행동(메서드)이 하나의 '객체'안에 함께 포함되어 있다.
객체
- 속성: 데이터, 멤버 변수
- 기능: 메서드
객체 지향의 특징은 속성과 기능을 하나로 묶는 것 뿐만 아니라 캡슐화, 상속, 다형성, 추상화, 메세지 전달 같은 다양한 특징이 있다.
모듈화
- 레고 블럭처럼 필요한 블럭을 가져다 꼽아서 사용할 수 있게 메서드를 조립해서 프로그래밍을 작성하는 방식
캡슐화
- 속성과 기능을 하나로 묶어서 필요한 기능을 메서드를 통해 외부에 제공하는 것을 캡슐화라 한다.
- 코드가 읽기 쉬워지고, 유지보수에 용이하다.
출처 - 김영한의 실전 자바 기본편