본문 바로가기

카테고리 없음

001 객체지향 기법

* 객체지향 기법의 개요
: 현실의 개체 (Entity)를 기계의 부품처럼 하나의 객체 (Object)로 만들어 S/W를 개발할때 기계를 조립하듯이 객체들을 조립하여 작성할 수 있도록 하는 기법이다.

- 소프트웨어의 재사용 및 확장이 용이하여 고품질의 S/W를 빠르게 개발할 수 있음.
- 유지보수가 쉬움.
- 복잡한 구조를 단계적, 계층적으로 표현함.
- 현실세계를 모형화했으므로 사용자, 개발자가 쉽게 이해할 수 있음.

* 객체지향의 구성요소 (COM)
1) 클래스 (Class)
2) 객체 (Object)
3) 메시지 (Message)

 
*  현실세계의 객체란
: 사람, 자동차, 고양이등의 모든 '객체', 즉 개념적인 물질들을 지칭하는 명사 그 자체이다.

객체 지향 프로그래밍(Object-Oriented Programming: OPP)은 실제 세계가 객체(object)들로 구성되어 있는 것과 비슷하게 소프트웨어도 객체 단위로 작성하는 방법이다. 우리가 살고 있는 실제 세계에는 사람, 동물, 건물, 자동차, 시계, 토스터, 세탁기 등의 많은 객체가 존재한다. 객체들은 객체 나름대로의 고유한 기능을 수행하면서 다른 객체들과 상호 작용한다. -- Power Java 2판 139p

객체 지향 프로그래밍은 데이터와 절차를 하나의 덩어리(객체)로 묶어서 생각하는 방법이다. 자바는 객체 지향 기법을 지원하지만 객체 지향을 사용한다고 해서 절차 지향 프로그램을 하지 않는다는 것이 아니다. 실제로 객체의 내부를 설계할 내느 절차 지향 프로그래밍을 사용한다. -- Power Java 2판 141p


* 객체 (Object)
: 데이터와, 그 데이터를 처리하는 함수를 묶어놓은 (캡슐화한) 하나의 S/W 모듈.

- 데이터 (Data)
: 객체가 가지고 있는 속성이나 상태 등을 나타냄.
- 함수 (Method)
: 데이터를 처리함.


* 클래스 (Class)
: 공통된 속성, 연산행위등을 갖는 객체(Method)의 집합이다.
: 슈퍼클래스 (SuperClass)는 상위(부모) 클래스
: 서브클래스 (SubClass)는 하위(자식) 클래스


* 메시지 (Message)
: 객체들간의 상호작용을 하기위해 사용되는 수단

- 메시지의 구성요소
: 메시지를 받는 객체의 이름
: 객체가 수행할 메소드 이름
: 메소드를 수행할 때 필요한 인자