[객체지향]객체지향의 정의, 객체지향의 역사, 객체지향의 언어, 객체지향의 병렬프로그램언어, 객체지향의 클래스, 객체지향의 방법론, 객체지향의 시스템, 객체지향의 프로그래밍 분석
- 최초 등록일
- 2013.04.26
- 최종 저작일
- 2013.04
- 10페이지/
한컴오피스
- 가격 5,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
목차
Ⅰ. 개요
Ⅱ. 객체지향의 정의
Ⅲ. 객체지향의 역사
Ⅳ. 객체지향의 언어
1. 객체
2. 클래스
3. 상속
Ⅴ. 객체지향의 병렬프로그램언어
Ⅵ. 객체지향의 클래스
1. 상속
2. 장점
Ⅶ. 객체지향의 방법론
Ⅷ. 객체지향의 시스템
Ⅸ. 객체지향의 프로그래밍
1. structured design 발전된 고안
2. simula67
3. 객체의 기본개념
1) 추상화 --> 기본 클래스
2) 기능추상화
3) 자료추상화
4) 캡슐화
5) 상속
6) 다중기능(polymophism)
참고문헌
본문내용
Ⅰ. 개요
객체 지향 기술의 근본적인 개념은 주어진 문제를 이해하고 모델링하는 시각에 있다. 객체 지향에서는 주어진 문제 영역을 그 안에 존재하는 객체의 집합으로 보며 객체들은 서로 정보를 주고받아 상호 작용한다고 여긴다.
절차 중심의 재래식 방법은 주어진 문제와 소프트웨어에 대한 시각이 전혀 다르다. 객체 지향 개념은 소프트웨어를 여러 개의 객체의 모임으로 생각하여 객체는 데이터와 관련 함수를 모아 놓은 것을 말한다. 즉 관련된 자료와 함수를 객체로 묶어 놓고 이들의 상호 작용에 의하여 작업이 수행된다.
다음은 객체 지향 기술 중요한 기본 개념들이다.
객체
객체란 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 소프트웨어 모듈이다. 각 객체가 자료 구조를 갖는다는 것은 각 객체가 어떤 상태를 가지고 있다는 것을 의미한다.
예를 들어, 그래픽 프로그램에서 하나의 점을 객체로 본다면 수평과 수직 위치가 자료이면서 그 값이 객체인 상태를 의미한다. 각 객체가 적용될 수 있는 경산을 갖는다는 것은 각 객체가 어떤 연산을 수행할 수 있는 능력을 갖고 있다는 것을 의미한다.
객체는 하나의 변수나 자료 구조와는 구별된다. 하나의 객체는 자료 구조와 적용될 수 있는 함수를 캡슐화하여 가지고 있다. 객체의 데이터 부분과 함수 부분은 하나로 모아져 캡슐화한다는 개념은 여러 가지 작은 알약을 캡슐로 싸서 만든 하나의 약과 같은 개념이다. 즉 연관된 여러 항목을 모아서 그 둘레에 캡슐을 씌우는 것이다. 소프트웨어 설계에서 어떤 데이터와 어떤 함수는 매우 연관되어 있다.
캡슐화는 설계나 분석 단계에 주어진 문제를 간단히 생각하는 추상화의 수단이 될 수도 있다. 즉 데이터를 이루는 객체의 속성, 함수 등의 세부 사항은 차후에 생각하고 처음에는 객체라는 덩어리 단위로 개괄적으로 생각하는데 도움이 된다.
캡슐 속에 있는 항목에 대한 정보를 외부에 감추는 것을 정보 은닉이라 한다. 정보가 외부에 은폐되었다는 것은 자료 구조와 함수에 사용된 알고리즘을 외부에서 직접 접근하여 사용하거나 변경하지 못하게 하는 것을 말한다. 즉 캡슐화된 정보는 하나의 블랙 박스가 되는 것이다.
클래스
우리 주변의 대부분의 사물에는 종류나 유형이 있다. 자동차가 무수히 많지만 승용차, 화물차, 버스, 승합차로 나눌 수 있다. 즉, 객체의 타입이 존재하며 이를 클래스라고 한다. 같은 클래스에 속하는 개개의 객체를 그 클래스의 인스턴스라고 한다.
예를 들어, 회사 내에 근무하는 ‘직원’이라는 클래스를 생각할 수 있다. 회사에 근무하는 ‘홍길동’이란 사람은 직원 클래스에 속하는 하나의 인스턴스로 볼 수 있다.
클래스를 정의하기 위해서는 클래스가 가지는 속성을 도출하여야 한다. ‘직원’이라는 클래스는 이름, 직위, 월급, 전화번호 등의 속성을 가질 수 있다. 또한 관련되는 함수를 생각해 낸다.
예를 들면, ‘진급’, ‘월급 인상’, ‘전화 변경’ 등이 ‘직원’이란 클래스와 관련되는 함수이다. 결국 클래스란 각각의 객체들이 갖는 속성과 적용 연산을 정의하고 있는 틀이다.
참고 자료
김인식 / 객체 지향 데이터 모델링, 경북전문대학, 2000
김정익 / 임베디드 개발환경에서 C언어 구조체 기반 객체 지향 프로그래밍 구현, 전남대학교, 2011
신화정 / 객체지향 병렬 프로그래밍 언어, 한양여자대학, 1999
서정석 / 객체지향 방법론과 구조적 방법론과의 비교 연구, 나사렛대학교, 1997
임좌상 / 객체지향시스템의 유지보수성에 관한 연구, 상명대학교 소프트웨어·미디어연구소, 2003
정계동 외 1명 / 객체 지향 클래스 계층 구조 재구성 방법, 한국정보처리학회, 1998