C# 07장. 객체 지향 개념.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

5. 접근 제한자의 이해 SCJP 자격증 프로젝트 발표자 : 노효진.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
3부 객체지향 3부에서는 자바 언어의 핵심인 객체지향의 개념과 클래스, 객체, 상속, 다형성 등의 개념에 관해 설명합니다.
최윤정 Java 프로그래밍 클래스 상속 최윤정
5장. 객체지향과 클래스.
제 2 장 객체지향의 이해.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제 4 장 관계 학기 소프트웨어설계.
Chapter 05. 클래스Ⅱ.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
10장 객체-지향 프로그래밍 II.
제 8 장 상속.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
6장. 클래스.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
자바 5.0 프로그래밍.
Choi, Namseok Java 기초 (객체와 클래스) Choi, Namseok
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
7장 인터페이스와 추상 클래스.
Method & library.
자바 5.0 프로그래밍.
2장. 추상 자료형 학습목표 프로그램 설계를 위해 추상 자료형을 정의해야 하는 이유를 이해한다.
Chapter 11 객체지향 프로그래밍의 기초 01 클래스 02 생성자 03 인스턴스 변수와 클래스 변수 예제 모음 요약
27장. 모듈화 프로그래밍.
14강. 추상클래스 - I - 추상클래스의 이해 - 추상클래스가 필요한 이유 - 추상클래스의 문법
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Effective Java [Issue 1 and 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장 상속.
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
JA A V W. 06.
10장 상속 Section 1 상속의 개요 Section 2 상속과 한정자 Section 3 상속과 생성자
객체기반 SW설계 팀활동지 4.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Lecture 04 객체지향 페러다임 Kwang-Man Ko
3. 모듈 (5장. 모듈).
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
웹 사이트 분석과 설계 [디자인 리서치] 학번: 이름 : 홍지애.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
.Net FrameWork for Web2.0 한석수
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 남궁성 강의
자바 객체 지향 프로그래밍 Ps lab 김윤경.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
6 객체.
Presentation transcript:

C# 07장. 객체 지향 개념

학습 목표 객체지향의 기본적 원리를 이해한다 객체의 개념과 특징을 이해한다 클래스의 개념을 이해한다 클래스와 객체의 관계를 이해한다 클래스의 상속과 다형성을 이해한다 인터페이스의 개념과 역할을 이해한다

목차 객체 지향 개요 객체와 클래스 상속과 다형성 인터페이스

1. 객체 지향 개요 객체지향의 기본원리 추상화 -중요한 것에만 초점을 맞추어 관리하는 개념 캡슐화 -내부적인 것은 공개하지 않고 필요한 부분만 외부에 인터페이스를 제공하는 원리 모듈화 -기능단위를 작게 나누는 것 계층성 -추상화 및 상속을 통해 객체간의 관계를 계층화

1. 객체 지향 개요 객체지향의 기본원리 추상화(abstract : 추상, 개요) -중요한 것에만 초점을 맞추어 관리하는 개념 캡슐화 -내부적인 것은 공개하지 않고 필요한 부분만 외부에 인터페이스를 제공하는 원리 모듈화 -기능단위를 작게 나누는 것 계층성 -추상화 및 상속을 통해 객체간의 관계를 계층화

전자레인지 2. 객체와 클래스 객체 객체의 특성 -상태(state) -행동(behavior) -독자성(identity) 상태: 직육면체 버튼, 문 마이크로웨이브 등 행동: 전원이 들어오다. 전원이 나가다. 조리하다. 타이머를 맞추다. 등

2. 객체와 클래스 클래스 클래스는 객체에 대한 설계도 객체 A 모델 설계도(클래스) 인스턴스화

X X 2. 객체와 클래스 캡슐화 은행계좌 캡슐화 한다는 것은 데이터와 메소드를 단위 하나로 묶는 것을 말한다. 상태정보를 나타내는 변수 데이터는 private으로 지정하여 외부에 공개하지 않음 행동정보를 나타내는 메소드를 public으로 지정하여 외부에서 접근할 수 있게 함 은행계좌 public 입금하다( ) public 출금하다( ) X private 금리 : xxx X private 잔고 : xxx

3. 상속과 다형성 상속 일반화 특수화 연주자 기반(base) 클래스 (super,parent) 파생(derived) 객체간의 계층적 관계를 맺음으로써 코드의 재사용 및 간결성 추구 연주하다() 연주자 줄을 튕기다() 코드를 잡다() 기타연주자 불다() 키를 누르다() 트럼펫연주자 기반(base) 클래스 (super,parent) 일반화 파생(derived) 클래스 (sub,child) 특수화

3. 상속과 다형성 단일상속과 다중상속 단일 상속 다중 상속 상위 기반클래스가 하나인 경우는 단일 상속 상위 기반클래스가 2개 이상인 경우 다중상속 C#언어에서는 다중상속을 지원하지 않는다.(인터페이스 상속은 다중 상속 지원) 단일 상속 다중 상속 연주자 가구 나무 제품 기타 연주자 목재 가구

* 상속 구현 상속 : 부모의 코드를 자식이 그대로 물려 받는 것이며, 클래스 간의 상속이 예이다. 인터페이스 상속 : 구현 코드는 물려받지 않고, 구현해야 할 메서드의 목록만 상속받는 것이다. 부모는 메서드의 목록만 제공할 뿐이며, 이 메서드를 어떻게 구현 하는가는 자식이 알아서 결정할 수 있다. * 인터페이스 상속은 다중 상속이 가능하다.

3. 상속과 다형성 다형성 연주자 PlayInstrument ( ) { Console.Write(“연주하다”) ; } 기반클래스와는 다른 형태를 파생클래스에서 구현가능 연주자 PlayInstrument ( ) { Console.Write(“연주하다”) ; } 기타 연주자 트럼펫연주자 PlayInstrument ( ) { Console.Write(“기타연주하다”) ; } PlayInstrument ( ) { Console.Write(“트럼펫연주하다”) ; }

3. 상속과 다형성 추상클래스(개요,요약) * 유능한 개발자 : 추상화에 강해야 한다. abstract 연주자 클래스 설계적인 측면에서 파생 클래스에서 구현해야 할 내용들을 정의하기 위해 사용된다. C#에서 abstract 키워드를 사용 abstract 연주자 abstract PlayInstrument ( ); 기타 연주자 트럼펫연주자 override PlayInstrument ( ) { Console.Write(“기타연주하다”) ; } override PlayInstrument ( ) { Console.Write(“트럼펫연주하다”) ; }

4. 인터페이스 인터페이스 클래스에 대한 설계도 추상클래스와 기능적인 유사점이 있다. interface 자동차 시동걸다(); 가속하다(); 소형차 트럭 시동걸다() { ... } 가속하다() … 시동걸다() { … } 가속하다()

요약 우리가 주변에서 보는 모든 것은 객체로 정의할 수 있다. 이는 모든 객체의 특성이 ‘상태(state)’, ‘행동(behavior)’, ‘독자성(identity)’으 로 정의되기 때문이다. 객체 지향의 기본 원리는 ‘추상화(Abstraction)’, ‘캡슐화 (Encaptulation)’, ‘모듈화(Modularity)’, ‘계층성(Hierarchy)’이다.

요약 클래스는 객체의 설계도 역할을 한다. 그리고 객체는 클래스의 구현 이라 할 수 있다. 객체 지향에서는 일반화 및 특수화 특성에 따라 클래스들 사이에 상 속 관계가 생긴다. 상속 관계를 사용하면 코드의 재사용과 유지 관 리에 있어 많은 이점을 얻을 수 있다. C#에서는 기반 클래스 여러 개를 포함하는 다중 상속을 지원하지 않는다. 다중 상속을 구현하려면 인터페이스를 상속 받아야 한다.

요약 상속 관계의 클래스들은 각기 다른 형태로 메소들를 구현해서 사용 할 수 있다. 이를 다형성이라고 말하며 프로그램 개발의 분업을 가 능하게 하는 특징이다. 기반 클래스를 파생 클래스의 설계도처럼, 단지 규약처럼 사용하고 실제로 객체화할 필요가 없을 때 기반 클래스를 추상 클래스로 선언 해서 만들 수 있다. 인터페이스는 추상 클래스와 같이 파생 클래스에 대한 설계도와 같 은 역할을 한다. 그렇지만 추상 클래스가 구체적인 구현부를 포함할 수 있는 반면, 인터페이스는 단지 구조에 대한 선언만 할 수 있다는 점이 다르다.

문제 객체를 정의할 때 사용되는 요소는 ( ), ( ) 그리고 독자성이다. 객체 지향의 원리들을 열거하시오. 객체를 정의할 때 사용되는 요소는 ( ), ( ) 그리고 독자성이다. 객체 지향의 원리들을 열거하시오. 클래스와 객체와의 관계를 간략히 설명하시오 상속을 통해서 얻을 수 있는 장점에 대해 간략히 설명하시오 객체 지향에서 클래스들의 구조를 규약하기 위한 설계도 역할을 할 수 있는 것은 ( )와(과) ( ) 이다.