• AI글쓰기 2.1 업데이트

객체지향

미리보기 파일은 샘플 파일 입니다.
최초 생성일 2024.09.19
5,000원
AI자료를 구입 시 아래 자료도 다운로드 가능 합니다.
다운로드

상세정보

소개글

"객체지향"에 대한 내용입니다.

목차

1. 객체지향 프로그래밍의 개념과 이해
1.1. 객체지향의 기원
1.2. 객체지향 등장의 배경
1.3. 객체지향의 요소
1.3.1. 객체
1.3.2. 메시지
1.3.3. 클래스
1.4. 객체지향의 원리
1.4.1. 추상화
1.4.2. 캡슐화
1.4.3. 상속성
1.5. 객체지향 패러다임의 전망

2. 절차지향 프로그래밍과 객체지향 프로그래밍을 이용한 얼굴 그리기
2.1. 절차지향 프로그래밍을 이용한 얼굴그리기
2.2. 객체지향 프로그래밍을 이용한 얼굴그리기

3. 물 정제 프로그램
3.1. 문제 개요
3.2. 프로그램 구조
3.3. 프로그램 소스
3.4. 프로그램 실행 결과

4. 바늘과 미싱기를 이용한 옷 제작 프로그램
4.1. 문제 개요
4.2. 프로그램 구조
4.3. 프로그램 소스
4.4. 프로그램 실행 결과

본문내용

1. 객체지향 프로그래밍의 개념과 이해
1.1. 객체지향의 기원

객체(object)의 개념이 처음 등장하는 것은 60년대 중반에 소개된 Simula라고 하는 시뮬레이션 언어를 통해서이다. 그 이전에도 객체라는 용어는 인공지능 등 몇몇 분야에서 가끔 나타나기도 하였지만 "캡슐화(encapsulation)", "다형성(polymorphism)" 등 객체지향의 개념이 비로서 소개되었다. 객체지향이란 용어가 중요하게 인식되기 시작한 것은 70년대 초반 XEROX사의 PARC(Palo Alto Research Center)에서 "Dynabook" 시스템을 개발하면서 소프트웨어로 Smalltalk을 만들었고, 여기에는 현재의 객체지향 개념의 상당수가 포함되어 있다. 80년대 중반에 들어서는 객체지향 프로그래밍이 상당히 활발히 확산되었고 C++, Objective C, Eiffel, Ada95 등 수 많은 객체지향 언어들이 연이어 탄생하게 된다.


1.2. 객체지향 등장의 배경

객체지향의 등장 배경은 그 전부터 존재해 오던 개발 방식에 문제가 있었고, 객체지향 방식이 이를 해결할 수 있다는 실마리가 보였기 때문이다.

프로그래밍과 분석/설계를 통틀어 소프트웨어의 개발 방식은 구조적이지 못한 방식에서 구조적인 방식으로, 구조적인 방식은 다시 프로세스를 우선적 분석하는 방식에서 데이터를 우선적으로 분석하는 방식으로 변천해 왔다. 70년대 이전 구조적이지 못한 개발 방식에서는 무계획적으로 하위 프로그램들을 개발하여 가면서 최종 시스템을 맞추어나가는 상향식(bottom-up)이었다. 이에 따라 프로그램들간의 연결이 어렵게 되고 모듈화가 되지 않으며 중복 코딩으로 조잡한 결과가 나올 수밖에 없었다.

구조적 개발 방식에서는 모듈화에 의한 코딩과 하향식(top-down)으로 SDLC(Software Development Life Cycle)의 전개를 따름으로써 계획적이 되고 분할과 정복(devide and conquer)의 원칙이 성립되었다. 즉, 소프트웨어를 모듈로 분할한 다음 공통 모듈과 모듈간 인터페이스를 계획하여 전체 시스템을 통합할 수 있게 된 것이다. 이러한 구조적인 방식은 구조적 분석과 설계(structured analysis & design)로 상징되는 구조적 기법(structured technique)과 정보공학(information engineering)으로 발전하였다.

하지만 데이터와 프로세스의 분리는 인간이 사고하는 방식과는 차이가 있다. 인간은 사물과 그 사물의 행위를 묶어서 생각하지 않고 따로 떼어 개별적으로 생각하는데, 데이터와 프로세스가 분리된 기술적인 산출물은 비전문가가 보아서 쉽게 이해하기 힘들며 개발자와 사용자간에 의사소통에도 어려움이 발생한다.

객체지향 기법에서는 요구명세서에 존재하는 사실을 그대로 객체로 찾아 모델링을 한다. 이는 곧바로 설계와 구현으로 이어지는데, 데이터와 프로세스가 분리되지 않으므로 이들 사이의 연결고리도 필요 없고, 단지 무엇이 필요하면 다른 객체에 메시지만 전달하면 된다. 이처럼 객체지향 기법의 등장은 기존 개발 방식의 문제를 해결할 수 있는 방법이 되었다.


1.3. 객체지향의 요소
1.3.1. 객체

객체(object)는 보고 만질 수 있는 것, 지성적으로 이해할 수 있는 것, 생각이나 행동이 추구하는 바를 말한다. 또한 문제영역에서 잘 정의된 역할을 갖고 있는 각각에 대해서 구별할 수 있는 품목(item), 단위(unit), 개체(entity)라고 정의되기도 한다. 즉, 객체는 학생, 교실, 책 같은 생각할 수 있는 모든 사물이나 공부, 수학 같은 개념상으로 존재하는 것 등 모든 것이 될 수 있다. 문제영역에 속한 사물 중에 관리의 필요성이 있거나 중요한 개념이라면 더 좋은 객체가 될 수 있다. 시스템의 관점에서 본다면 어떤 상태(state)를 나타내는 데이터의 구조와 동작을 수행하는 연산(operation)으로 이루어진 프로그램의 한 요소이다. 여기서의 연산을 객체지향에선 메소드(method)라고 한다. 이렇게 객체의 상태는 데이터에 의해 결정되고 동작은 메소드에 의해 결정된다.""


1.3.2. 메시지

메시지(message)는 객체지향 프로그래밍의 핵심 요소 중 하나이다. 메시지는 객체 간의 상호작용을 나타내는 개념으로, 객체가 다른 객체에게 특정 작업을 요청할 때 사용된다. 즉, 메시지는 객체지향 프로그래밍에서 객체 간의 의사소통 수단이라고 할 수 있다.

메시지는 세 가지 요소로 구성된다. 먼저 메시지를 받는 수신자 객체(receiver)의 이름, 그리고 수신자가 수행해야 할 메소드(method)의 이름, 마지막으로 메소드 수행 시 전달되는 인자(argument)가 그것이다. 이러한 메시지의 구조는 객체지향 프로그래밍 언어에서 일반적으로 사용되는 함수 호출과 유사하다.

예를 들어, Java 언어에서 "myCustomer.addToOrder(itemNumber, price, quantity);" 와 같은 문장은 메시지의 구조를 잘 보여준다. 여기서 "myCustomer"가 수신자 객체, "addToOrder...


참고 자료

주의사항

저작권 EasyAI로 생성된 자료입니다.
EasyAI 자료는 참고 자료로 활용하시고, 추가 검증을 권장 드립니다. 결과물 사용에 대한 책임은 사용자에게 있습니다.
AI자료의 경우 별도의 저작권이 없으므로 구매하신 회원님에게도 저작권이 없습니다.
다른 해피캠퍼스 판매 자료와 마찬가지로 개인적 용도로만 이용해 주셔야 하며, 수정 후 재판매 하시는 등의 상업적인 용도로는 활용 불가합니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우