객체 (Object)
- 물리적인 개체
- 개념적인 개체
- 소프트웨어 개체
지향 (Oriented)
- 객체 중심
- 기본 설계 단위를 객체로 함
- 실세계 매핑
- 실세계 모방
실세계(real-world)는 곧 객체-지향 세계
O-O의 근본 취지
실세계의 인간의 행동 양식을 모델링 세계에도 적용함으로써
추상적이고 개념적인 모델링 세계의 문제를 보다 쉽게 해결하고자 함
O-O에 내포한 다른 의미
존재하는 모든 개체는 고유의 Identity를 가진다.
모든 개체는 존재 가치가 있다.
존재 가치는 자신의 주어진 책임을 수행하는 즉, 역할수행을 통해 증명된다.
대부분의 객체는 책임이 너무 크면 불평을 한다.
불평이 있을 경우, 이를 완화하기 위해서 책임 조정이 필요하다.
올바른 객체-지향 세계에서
모든 개체는 자신의 존재를 증명할 정도의 책임을 가진다.
고유의 Identity가 있듯이 고유의 책임이 존재하며, 이를 통해 전문가 개체로 인식된다.
개체에 적절할 책임을 부여하고, 각 개체 간에 작업을 조정함으로써 일이 원활하게 블라블라...
객체지향 기술의 장점
- 단일 패러다임 : 시스템 분석에서 구현까지 단일 개념(객체)를 사용함 (Employee --> Employee.java)
- 추상화의 힘
- 재사용성
- 쉽고 정확한 모델
- 정보은폐를 통한 안정성
- 다형성을 통한 변화 적응성
객체지향의 기본 개념들
- 추상화 (Abstraction)
- 캡슐화 (Encapsulation)
- 모듈화 (Modularity)
- 계층화 (Hierarchy)
- 다형성 (Polymorphism)
WIKIPEDIA : Object-oriented programming 객체지향 프로그래밍
ATOMIC OBJECT : OO Programming Tutorial
.
'Patterns' 카테고리의 다른 글
Template Method - 하위 클래스에서 구체적으로 처리하기 (0) | 2013.05.06 |
---|---|
Abstract Factory - 관련 부품을 조합해서 제품만들기 (0) | 2013.05.06 |
Singleton - 인스턴스를 한 개만 만들기 (0) | 2013.05.04 |
02. 객체지향 설계 원칙 (0) | 2013.05.04 |
Prototype 패턴 - 복사해서 인스턴스 만들기 (0) | 2013.05.03 |