1. 객체지향 기법의 개요
객체지향 기법은 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있도록 하는 기법
- 객체지향 기법은 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용
- 소프트웨어의 재사용 및 확장을 용이하게 함으로 써 고품질의 소프트웨어를 빠르게 개발할 수 있으며 유지보수가 용이
- 복잡한 구조를 단계적 º 계층적으로 표현하고, 멀티미디어 데이터 및 병렬 처리를 지원
- 현실 세계를 모형화하여 사용자와 개발자가 쉽게 이해
- 객체 지향 기법의 구성 요소에는 객체(Object), 클래스(Class), 메시지(Message)
2. 객체(Obejct)
- 객체는 데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 소프트웨어 모듈
데이터 | - 객체가 가지고 있는 정보로 속성이나 상태, 분류등을 나타냄 - 속성(Attribute), 상태, 변수, 상수, 자료 구조라고 함 |
함수 | - 객체가 수행하는 기능으로, 객체가 갖는 데이터(속성, 상태)를 처리하는 알고리즘 - 객체의 상태를 참조하거나 변경하는 수단이 되며, 메소드(Method), 서비스(Service), 동작(Operation), 연산이라고도 함 - 기존의 구조적 기법에서의 함수, 프로시저에 해당하는 기능 |
- 객체는 상태와 행위를 가지고 있음
- 객체는 다른 객체들과 구별될 수 있는 이름을 가지고 있으며, 일정한 기억장소를 가지고 있음
- 객체의 메소드는 다른 객체로부터 메시지를 받았을 때 수행
3. 클래스(Class)
- 클래스는 공통된 속성과 연산(행위)을 갖는 객체의 집합으로 객체의 일반적인 타입(Type)
- 클래스는 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
- 클래스에 속한 각각의 객체를 인스턴스(Instance)라 하며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화(jInstantiation)라고 함
- 동일 클래스에 속한 각각의 객체(인스턴스)들은 공통된 속성과 행위를 가지고 있으면서, 극 속성에 대한 정보가 서로 달라서 동일 기능을 하는 여러 가지 객체를 나타냄
- 최상위 클래스는 상위 클래스를 갖지 않는 유일한 클래스를 의미
- 슈퍼클래스(Superclass)는 특정 클래스의 상위(부모) 클래스이고, 서브클래스(Subclass)는 특정 클래스의 하위(자식) 클래스를 의미
4. 메시지(Message)
- 메시지는 객체들 간에 상호작용을 하는 데 사용되는 수단으로, 객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구 사항
- 메시지의 구성 요소 : 메시지를 받는 객체(수신자)의 이름, 객체가 수행할 메소드 이름, 메소드를 수행 할 때 필요한 인자(속성값)
- 인자는 옵션(Option), 즉 필요할 때만 사용
- 메시지를 받은 수신 객체는 요구된 메소드(동작, 연산)를 수행하여 결과를 반환
'정보처리' 카테고리의 다른 글
순서도와 C언어의 기본 (0) | 2024.03.27 |
---|---|
아키텍처 스타일 (0) | 2024.03.26 |
객체지향 기법의 생명 주기 (0) | 2024.03.26 |
객체지향 기법의 기본 원칙 (0) | 2024.03.25 |
프로그래머 (0) | 2024.03.25 |