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