1. 객체 지향 프로그래밍(OOP)이란?
상태와 행동을 가진 객체를 만들고, 이 객체들이 서로 협력하며 거대한 프로그램을 완성해가는 방식을 의미한다.
| 구분 | 설명 |
| 객체(Object) | 상태(State)와 행동(Behavior)을 가진 독립적인 존재 |
| 클래스(Class) | 객체를 만들기 위한 설계도 |
| 메시지 | 객체 간 상호작용 방식 (메서드 호출) |
| 협력 | 여러 객체가 상호작용하며 프로그램을 구성 |
2. 사고의 전환: 절차 지향 vs 객체 지향
- 절차지향 : 기능을 어떻게 구현할까? (순서 중심)
- 객체지향 : 누가 이 기능을 담당해야 하지? (책임 중심)
절차 지향은 데이터와 로직이 분리되어 코드가 꼬이기 쉽지만, 객체지향은 역할과 책임을 분리한다.
3. 객체지향이 유리한 상황
- 기능이 계속 추가되는 대규모 프로젝트 (확장성)
- 여러 개발자가 협업하는 상황 (책임 명확화)
- 단위 테스트가 필요한 시스템 (모듈화)
'Java & Spring > Java' 카테고리의 다른 글
| 생성자&this,this() (0) | 2026.01.06 |
|---|---|
| 메서드 (0) | 2026.01.06 |
| Static (2) | 2026.01.05 |
| 객체의 상태와 변수의 생명주기 (0) | 2026.01.05 |
| 객체 지향 기본 (0) | 2026.01.05 |