제 2 장 객체지향의 이해.

Slides:



Advertisements
Similar presentations
Ⅱ 세포의 주기와 생명의 연속성 Ⅱ 세포의 주기와 생명의 연속성 - 1. 세포주기와 세포분열.
Advertisements

객체지향 소프트웨어공학 2 장 객체 지향. 2.1 객체지향  절차적 패러다임 소프트웨어가 프로시저 단위로 구성됨  프로시저 추상 – 단순한 데이터에는 적합하나 복잡한 데이터를 가진 응 용문제에는 부적합  데이터 추상 – 특정한 의미를 이루는 데이터의 조각들을 모아.
© Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models 배재대학교 멀티미디어 정보공학 연구실 발표자 : 이 상 조
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 0 Introduction to Presentation Format
소프트웨어 공학 Lecture #5: 모델링 최은만 저 6차 개정판 1.
UML의 구성 UML 구성 요소 UML 아키텍처 UML 메커니즘.
교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006
CHAP 22. 블루투스.
인터넷의활용.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
소프트웨어 소프트웨어 엔지니어링 작업의 결과 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
3부 객체지향 3부에서는 자바 언어의 핵심인 객체지향의 개념과 클래스, 객체, 상속, 다형성 등의 개념에 관해 설명합니다.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
제 4 장 관계 학기 소프트웨어설계.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
Chapter 02 : Class 다이아그램. chapter 02 : Class 다이아그램.
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
제 8 장 상속.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
8장: 객체지향 기초 - Software Engineering -.
2010학년도 2학기 객체지향의 이해.
C++ Programming: Sample Programs
자바 5.0 프로그래밍.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
제4장 클래스와 객체 객체 지향 기법을 이해한다. 클래스를 작성할 수 있다. 클래스에서 객체를 생성할 수 있다.
소프트웨어 공학 (Software Engineering)
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
7장 인터페이스와 추상 클래스.
자바 5.0 프로그래밍.
Chapter 11 객체지향 프로그래밍의 기초 01 클래스 02 생성자 03 인스턴스 변수와 클래스 변수 예제 모음 요약
소프트웨어 공학 (Software Engineering)
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
Lesson 2. 기본 데이터형.
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
제 5 장 집합연관, 복합연관, 인터페이스, 실체화 (교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006) 학기 소프트웨어설계.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
Power Java 제11장 상속.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
컴포넌트 다이어그램 컴포넌트 정의 컴포넌트 다이어그램의 UML 표기법 컴포넌트와 클래스 컴포넌트 다이어그램의 간단한 예
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
C# 07장. 객체 지향 개념.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
충남대학교 Software Engineering Lab 김 대 엽
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Lecture 04 객체지향 페러다임 Kwang-Man Ko
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
3. 모듈 (5장. 모듈).
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
웹 사이트 분석과 설계 [디자인 리서치] 학번: 이름 : 홍지애.
서브클래스 조 병 규 한 국 교 통 대 학 교 SQ Lab..
발표자 : 이지연 Programming Systems Lab.
Component Diagram 1.
.Net FrameWork for Web2.0 한석수
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
자바 객체 지향 프로그래밍 Ps lab 김윤경.
세포는 어떻게 분열할까?(2) 양파 뿌리의 체세포 분열 관찰 순서 [ 해리 ] [ 염색 ] [ 고정 ] 학습 주제
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
6 객체.
소프트웨어 설계 및 실습 강기준.
Presentation transcript:

제 2 장 객체지향의 이해

차례 2.1 객체 – 어디서나 볼 수 있는 객체 2.2 객체지향을 이루는 몇 가지 개념들 객체들은 어떻게 통신을 할까? 객체들은 다른 객체와 어떤 관계를 가질까? 어떻게 객체들을 결합시킬 수 있을까? 2.3 결론은? 2.4 요약 2010-2학기 소트트웨어설계

2.1 객체 – 어디서나 볼 수 있는 객체 객체(Object) 객체는 클래스(범주)의 인스턴스 객체는 속성(attributes)과 행동(behavior)을 갖는다 행동은 자신이 수행하는 오퍼레이션(operation)으로 구성 특성(feature) = 속성 + 오퍼레이션 2010-2학기 소트트웨어설계

2.1 객체 – 어디서나 볼 수 있는 객체 객체지향 클래스의 예(세탁기) (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.1 객체 – 어디서나 볼 수 있는 객체 객체지향 클래스의 예(세탁기): 속성과 오퍼레이션의 추가 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 객체지향 개념은 단지 속성과 오퍼레이션만 가지고는 설명할 수 없다 (1) 추상화 (Abstraction) (2) 상속 (Inheritance) (3) 다형성 (Polymorphism) (4) 캡슐화 (Encapsulation) (5) 메시지 전송 (Message Sending) (6) 연관 (Association) (7) 집합연관 (Aggregation) (8) 복합연관 (Composition) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (1) 추상화 (Abstraction) (2) 상속 (Inheritance) 객체를 모델링할 때 필요한 만큼의 속성과 오퍼레이션을 추출 모델에 무엇을 포함하고, 무엇을 뺄 것인지 아는 것이 가장 중요 (2) 상속 (Inheritance) 가전제품(Appliance) 클래스의 각 서브클래스(subclass; 세탁기, 냉장고, 전자레인지 등)는 슈퍼클래스(superclass; 가전제품)의 모든 특성을 물려받는다 각 서브클래스는 물려받은 특성 외에 자신만의 속성과 행동을 추가 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 예: 가전제품 클래스 그림에 나온 물건들은 모두 가전제품(Appliance) 클래스의 속성과 오퍼레이션을 상속 받으며, 가전제품 클래스의 서브클래스가 된다. 가전제품(Appliance) 클래스는 이들 서브클래스의 슈퍼클래스이다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 예: 가전제품 클래스 슈퍼클래스는 자신이 서브클래스가 되어 다른 슈퍼클래스로부터 상속받을 수도 있다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (3) 다형성 (Polymorphism) 다른 클래스인데 같은 이름의 오퍼레이션을 가지는 경우 예 - “open” 문을 열다.(open door) 창문을 열다.(open window) 신문을 펼치다.(open newspaper) 선물 꾸러미를 풀다.(open present) 은행 계좌를 개설하다.(open account) 객체지향 세계에서 각 클래스는 자신의 오퍼레이션이 어떻게 행동하는지 알고 있다. 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 다형성의 예 다형성은 동일한 이름의 오퍼레이션이라도 그 오퍼레이션이 일어나는 클래스에 따라 각기 다른 행동을 수행하도록 한다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (4) 캡슐화 (Encapsulation) 객체는 자신의 동작 원리를 클래스라는 껍데기로 캡슐화한다. 즉, 그 객체만 자신의 오퍼레이션이 어떻게 작동하는지 알고 있으며, 외부에서는 알 수 없다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (5) 메시지 전송 (Message Sending) 한 객체에서 다른 객체로 메시지를 전달 예: 리모콘 객체는 TV 객체로 메시지를 보내어 TV를 켜도록 한다. TV 객체는 자신의 인터페이스인 적외선 수신기를 통해 이 메시지를 받는다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (6) 연관 (Association) 객체는 다른 객체와 “어떤 의미의” 연관 관계를 가질 수 있다. 여러분이 TV를 켜면, 여러분은 TV와 단방향성 연관을 가지게 된다. 하나의 객체는 다른 객체와 두 개 이상의 연관을 가질 수 있다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (6) 연관 (Association) 클래스는 한 개 이상의 다른 클래스와 연관될 수 있다. 다중성(multiplicity) 은 특정한 집합 내에서 하나의 객체가 몇 개의 객체와 연관될 수 있는지 알려준다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (7) 집합연관 (Aggregation) 하나의 객체가 다른 객체들의 조합에 의하여 만들어진 경우 컴퓨터 시스템은 전형적인 집합연관이다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.2 객체지향을 이루는 몇 가지 개념들 (8) 복합연관 (Composition) 집합체(aggregate) 전체와 그 객체를 구성하는 컴포넌트가 밀접한 관계를 갖는 집합연관의 한 형태 복합연관에서는 복합체보다 컴포넌트가 먼저 사멸하는 경우가 있다. 복합체가 없어지면 컴포넌트도 따라 없어진다. (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소트트웨어설계

2.3 결론은? 모든 시스템의 중심은 객체와 객체들간의 연관관계 의뢰인의 요구사항을 조사할 때는 의뢰인의 지식 도메인을 빨리 이해해야 함 UML 적용방법의 학습 필요 2010-2학기 소트트웨어설계

2.4 요약 객체 지향 개념의 기본 원리 클래스와 객체 속성과 오퍼레이션 상속 다형성 객체의 인터페이스 메시지 교환 객체의 연관관계 집합연관 복합연관 2010-2학기 소트트웨어설계