Contents
- 1 전통적시각, 객체지향적 시각
- 2 객체지향의 기본 개념
- 3 객체지향의 주요 개념
- 4 객체지향의 주요 사상
1 전통적시각, 객체지향적 시각 #
- 소프트웨어에 대한 전통적 시각
- 프로그램 = 데이터 + 함수
- 상호 연관된 데이터와 함수를 별개 취급
- 소프트웨어에 대한 OO적 시각
- 객체 = 데이터 + 함수
- 프로그램 = 객체 + 객체
2 객체지향의 기본 개념 #
- Object-Type : 인간의 인지내에서의 물체나 객체에 적용되는 어떤 생각이나 관념
- Class : Object-Type에 대한 소프트웨어적인 구현. 객체의 기본적인 성질을 추상화 한 것. 객체를 만들어내는 틀(Template) 제공
- Object : 실세계에 존재하는 실제적인 사물 또는 추상적인 사물
- Instance : 어떤 클래스에 속해있는 객체. 종종 개별적인 객체를 묘사할때 사용됨
- Attribute : 객체의 상태를 표현하는 변수
- Operation : 객체가 할 수 있는 행위
- Method : Operation을 실질적으로 동작할 수 있도록 구현한 것.
- Message : 객체들간의 통신을 명세한 것
3 객체지향의 주요 개념 #
- Encapsulation : 관계있는 Data와 Operation을 하나로 묶음. 객체를 추상화
- Information Hiding : 객체의 데이터는 내부에 숨기고 접근은 오퍼레이션을 통해서만
- Inheritance : 새로운 클래스를 처음부터 생성하는 대신 이미 존재하는 클래스를 사용하여 새로운 클래스 생성
- Polymorphism : 두 개 이상의 클래스가 같은 이름의 Operation을 가질 수 있게 해줌
4 객체지향의 주요 사상 #
- Use Case Driven : The Use Case model represents the functional requirements and analysys, design, implement, test to realize the use cases
- Architecture Centric : The Use Cases drive the architecture, and the architecture guides which use cases can be realized
- Iterative Process : Iterative approach is risk-driven and the result of an iteration is an increment