001. 객체지향 기법의 개요

1) 객체지향 기법의 개요

현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어 조립하듯, 소프트웨어 개발 시 객체들을 조립해서 작성할 수 있도록 하는 기법

- 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택

- 소프트웨어 재사용 및 확장이 용이해짐 - > 빠른 개발, 쉬운 유지보수

- 복잡한 구조를 단계적 / 계층적으로 표현, 멀티미디어 데이터 및 병렬 처리를 지원

- 모형화 - > 사용자와 개발자가 쉽게 이해

- 구성요소 : 객체, 클래스, 메시지

 

2) 객체

- 데이터와 데이터를 처리하는 함수를 캡슐화한 하나의 소프트웨어 모듈

- 데이터 : 객체가 가지고 있는 정보. 속성, 상태, 분류 등. 속성, 상태, 변수, 상수, 자료 구조

- 함수

객체가 수행하는 기능. 객체가 갖는 데이터를 처리하는 알고리즘.

객체의 상태를 참조하거나 변경하는 수단

메소드, 서비스. 동작, 연산

기존의 구조적 기법에서의 함수, 프로시저에 해당

- 객체 have 상태, 행위

- 다른 객체들과 구별되는 이름 / 일정한 기억장소 가짐

- 다른 객체로부터 메시지를 받았을 때 수신 객체가 메소드를 수행

 

3) 클래스

- 공통된 속성과 연산을 갖는 객체의 집합. 객체의 일반적인 타입

- 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀(mold)

- 인스턴스 : 클래스에 속한 각각의 객체

인스턴스화 : 클래스로부터 새로운 객체를 생성

- 클래스에 속한 각각 객체들은 공통된 속성과 행위를 가지고, 동일 기능하는 여러 객체가 나타남

- 최상위 클래스 : 상위클래스 갖지 않는 유일한 클래스

- 슈퍼 클래스 : 부모 클래스 - 서브 클래스 : 자식 클래스

 

4) 메시지

- 객체들 간 상호작용 하는 수단

- 객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구 사항

- 구성 요소 : 수신자 이름, 객체가 수행할 메소드 이름, 메소드 수행에 필요한 속성값

- 인자는 optional

- 메시지의 수신 객체는 메소드를 수행하여 결과 반환

 

 

+ Recent posts