자바는 객체지향 프로그래밍 언어이다. 객체지향과 항상 비교하는 것이 절차지향인데 각각의 핵심은 무엇이고, 장단점으로 무엇이 있는지 공부했다.
절차지향 프로그래밍
- 실행 순서를 중요하게 여김
- “어떻게”를 중심으로 프로그래밍 할지 중점
- 데이터와 관련 메서드 분리
객체지향 프로그래밍
- 객체를 중요하게 여김
- “무엇을” 중심으로 프로그래밍 할지 중점
- 데이터와 관련 메서드 한 곳에 있음 = 캡슐화
- 캡슐화의 이점
- 객체지향 프로그래밍을 하면 하나의 객체의 상태와 행동을 필드와 메서드로 다 표현할 수 있고, 사람이 이해하기 더 쉬워진다. 따라서 코드 가독성이 증가하고, 속성과 기능이 한 곳에 있기 때문에 변경도 더 쉬워진다.
- 캡슐화의 이점
둘의 중요한 차이
절차지향 프로그래밍과 객체지향 프로그래밍의 가장 큰 차이점은 데이터와 메서드의 분리 여부이다. 절차 지향은 데이터와 해당 데이터 관련 메서드가 분리되어있다. 반면 객체 지향은 데이터와 해당 데이터 관련 메서드가 하나의 객체 안에 포함되어 있다.
절차 지향은 순서를 어떻게 설계할 지를 고민해야 했다면, 객체 지향은 객체를 어떻게 설계하지에 더 초점이 맞춰져있다고 이해하면 된다.
절차지향 ↔ 객체지향 ?
Nope. 절차 지향과 객체 지향은 서로 대치되는 개념이 아니다. 객체 지향이라도 프로그램의 작동 순서는 중요하다. 다만, 순서와 객체 둘 중 어디에 더 초점을 맞추는지가 차이점이다.
Reference
인프런 '김영한의 실전 자바 - 기본편'
'Dev Language > Java' 카테고리의 다른 글
[자바/기본] 5. 패키지 (0) | 2024.01.04 |
---|---|
[자바/기본] 4. 생성자 (0) | 2024.01.04 |
[자바/기본] 2. 기본형과 참조형 (0) | 2024.01.04 |
[자바/기본] 1. 클래스와 데이터 (4) | 2024.01.04 |
[자바/입문] 8. 메서드 (2) | 2023.12.29 |