11장 다형성과 추상 클래스, 인터페이스 Section 1 객체의 형 변환 Section 2 연산자 Section 3 다형성

Slides:



Advertisements
Similar presentations
Transaction ㅇ Transaction 을 직접 구현하려면, 까다로운 설계와 복잡한 코드를 필요로 하고 수정에 공수가 많이 들게 된다. ㅇ 스프링에서 제공하는 Transaction Manager 를 사용하여 쉽고 간편하게 어려운 트랜잭션을 해결할 수 있다. xml.
Advertisements

저소득층을 위한 부실 공교육 강화 필요성 제고 한국어문학부 이예지 영어영문학부 김미진.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
주마등 신동진.
기획서 작성법
좋은 강의 국제관계학과 정연식.
국제고등학교 전경. 국제고등학교 전경 일본 홈스테이 국제 고등학교 교사, 남기홍 국제고등학교 Who When Where What How Why 문화교류 한국 일본 이해 국제고 학생 선생님 고치현 광주 HOME STAY 스폰서 (해결과제) 자비부담 방학 중 1월.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
마음을 움직이는 힘, 배려 ! 앞을 못보는 사람이 밤에 물동이를 머리에 이고, 한손에는 등불을 들고 길을 걸었다.
지역교육복지센터의 기능/역할 ◆ 가정의 경제적․문화적 결핍으로 인해 복합적 위기에 처한 학생을 대상으로
돈이 되는 글쓰기
Chap05 상속 5.1 상속의 개요 5.2 멤버 변수의 상속 5.3 메소드의 상속과 오버라이딩(Overriding)
5W 1H 현장에서 발생하는 여러 가지 문제를 해결하는 효과적 수법 중에 5W 1H는 문제를 근본적으로 해결하는 방법으로서
기획서의 조건과 역할 기획서는 아이디어가 장차 창출할 가치를 명확히 보여 주어야 한다. 기획서 채택 가치 창출 체 제 표 현
Puzzle 1 To 50 관심분야연구회 박찬수 장진호 최효진.
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
자바 5.0 프로그래밍.
명품 Java Programming.
10장 다중 스레드 10.1 스레드 개요 10.2 Thread 클래스 10.3 스레드 생성
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
DataScience Lab. 박사과정 김희찬 (월)
C ++ 프로그래밍 시작.
문항 제작, 유형 및 분석 윤장민 권애란 민선경 정혜민.
김 정 석 Web Programming 김 정 석
컴퓨터 활용 및 실습 Chapter 3 수식과 함수 김 정 석
제1장 서론.
Choi Younghwan CSE HUFS
1. 논리적이란? 논리적이지 못하다 말이나 글에 두서가 없다. 1. 논리적이란? 논리적이지 못하다 말이나 글에 두서가 없다.
Java 8장. 상속 public class SumTest {
DataScience Lab. 박사과정 김희찬 (월)
지혜롭고 깔끔한 청소년 코칭 대화용 간단한 키워드
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
100점 맞을까? 빵점 맞을까? 준비 WHAT? HOW?? 2015년 1학기말고사 준비= 체육
Chap10 다중 스레드 Section 1 : 스레드 개요 Section 2 : Thread 클래스와 스레드 생명주기
Web programming Chap 04 상속 김 정 석
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
4장 - PHP의 표현식과 흐름 제어-.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
성과관리ᆞ인사고과
CACM 구현 public class CACM { public CACM(File file)
[INA470] Java Programming Youn-Hee Han
이것만은 기억해라!! (크리에이티브한 광고 만드는 방법 3가지) 광고 홍보 학과 박태진.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
[ 단원 06 ] 상속과 다형성.
Part 3 객체지향 Chapter 5 : 객체지향 개념 Chapter 6 : 클래스 : 속성
자바 5.0 프로그래밍.
C# 10장. 참조형.
친히 나무에 달려 그 몸으로 우리 죄를 담당하셨으니 이는 우리로 죄에 대하여 죽고 의에 대하여 살게 하려 하심이라
창의인성 두뇌계발 교사교육 3월 생각튼튼리더 1주. 세상에서 제일 똑똑똑한 뇌 2주. 황금요술공,검정요술공 3주. 브레이니 웨이키 웨이키 4주. 생각튼튼 리더가 되었어요.
Java 5장. 객체지향 개념 public class SumTest {
동기와 인간관계.
고객만족 서비스 교육 Ⅴ. 전화예절.
(상기 참가비는 VAT 별도입니다. 단, 1사 3명 이상은 10% 할인)
웰빙시대! 두부의 대변신 행정학과 고전경 행정학과 박소혜 행정학과 송다예
“알콜중독자 대상 심리안정 프로그램”.
서술형 평가 확대 한국교육과정평가원 김 소 영.
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
㈜커티스국제여행사.
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

11장 다형성과 추상 클래스, 인터페이스 Section 1 객체의 형 변환 Section 2 연산자 Section 3 다형성 11장 다형성과 추상 클래스, 인터페이스 Section 1 객체의 형 변환 Section 2 연산자 Section 3 다형성 Section 4 추상 클래스 Section 5 추상 클래스와 다형성 Section 6 인터페이스 Section 7 인터페이스와 다형성 1

학습 목표 다형성을 위한 객체의 형 변환에 대해 학습합니다. 연산자 instanceof에 대해 학습합니다. 다형성의 장점과 구현 방법을 학습합니다. 추상 클래스의 개념과 얻어지는 장점, 추상 클래스와 추상 메소드에 관해 학습합니다. 추상 클래스와 객체의 형 변환, 오버라이딩을 활용한 다형성을 학습합니다. 인터페이스의 개념과 상속, 사용 방법에 관해 학습합니다. 인터페이스를 활용한 다형성을 학습합니다.

상속된 관계에서 객체의 형 변환을 허용 1 객체의 형 변환 상속된 관계에서 상위 클래스 형의 객체 변수에 하위 클래스에서 생성된 객체의 배정을 허용 반대로 하위 클래스 형의 객체 변수에 상위 클래스에서 생성된 객체의 배정은 허용하지 않는다

1 객체의 형 변환

1 객체의 형 변환 예제 11.1

1 객체의 형 변환

1 객체의 형 변환

1 객체의 형 변환

instanceof 연산자 객체가 특정 클래스로부터 생성된 객체인지를 판별하여 true 또는 false값을 반환

2 연산자 instanceof

2 연산자 instanceof

2 연산자 instanceof

3 다형성 객체 지향에서 다형성은 “서로 다른 객체가 동일한 메시지에 대하여 서로 다른 방법으로 응답할 수 있는 기능”이라고 정의할 수 있다 다형성은 앞 장에서 기술한 상속과 객체의 형 변환, 메소드 오버라이딩을 통하여 구현될 수 있다.

3 다형성 다음 프로그램은 세 개의 클래스가 상속관계에 있으면서 하나의 속성과 하나의 메소드를 가지고 있습니다. 객체 지향 언어의 다형성(polymorphism)을 제공하는 예

3 다형성

3 다형성

3 다형성

4 추상 클래스 추상화는 복잡한 문제들 중에 공통적인 부분을 추출하여 추상 클래스로 제공하고, 상속을 이용하여 나머지 클래스들을 하위 클래스로 제공하는 기법

4 추상 클래스 추상화 클래스의 예

4 추상 클래스 추상화 클래스와 추상 메소드

4 추상 클래스 추상화 클래스와 추상 메소드의 예

추상 클래스와 추상 메소드의 오버라이딩을 이용하면 더욱 효율적인 다형성을 구현할 수 있다 5 추상 클래스와 다형성 추상 클래스와 추상 메소드의 오버라이딩을 이용하면 더욱 효율적인 다형성을 구현할 수 있다

5 추상 클래스와 다형성

5 추상 클래스와 다형성

5 추상 클래스와 다형성

5 추상 클래스와 다형성 예제 11.7

6-1 인터페이스 개요와 선언 인터페이스는 상수와 메소드 선언들만을 가진 클래스로 정의할 수 있다 6 인터페이스 6-1 인터페이스 개요와 선언 인터페이스는 상수와 메소드 선언들만을 가진 클래스로 정의할 수 있다 추상 클래스와 유사하지만, 인터페이스는 앞에서 배운 추상 클래스보다 더욱 완벽한 추상화를 제공 추상 클래스는 추상 메소드 외에 다른 멤버 변수나 일반 메소드를 가질 수 있지만, 인터페이스는 추상 메소드(메소드 선언만 있는)와 상수만을 가질 수 있다(단, JDK 1.8 버전 이후부터 인터페이스에 default 메소드와 static 메소드의 사용을 허용. default 메소드는 추상메소드가 아닌 일반 메소드로서 메소드 이름 앞에 default를붙여 사용하고, static 메소드는 클래스 메소드와 같은 의미) 인터페이스를 사용함으로써 완벽한 다중 상속은 아니지만 다중 상속을 흉내낼 수 있다

6 인터페이스 6-1 인터페이스 개요와 선언 인터페이스의 형식과 예

6 인터페이스 6-1 인터페이스 개요와 선언 인터페이스의 상속의 예

6-2 인터페이스의 사용 클래스에서 인터페이스를 사용하기 위해서는 implements 예약어 사용 6 인터페이스 6-2 인터페이스의 사용 클래스에서 인터페이스를 사용하기 위해서는 implements 예약어 사용 클래스가 인터페이스를 포함하면, 인터페이스에서 선언된 모든 메소드를 오버라이딩 해야 한다

6 인터페이스 6-2 인터페이스의 사용

6 인터페이스 6-2 인터페이스의 사용

6 인터페이스 6-2 인터페이스의 사용

인터페이스도 추상 클래스와 같이 다형성을 구현하는 데 사용될 수 있다 7 인터페이스와 다형성 인터페이스도 추상 클래스와 같이 다형성을 구현하는 데 사용될 수 있다 추상 클래스를 이용하여 다형성을 구현하는 것과 동일한 형태

7 인터페이스와 다형성

7 인터페이스와 다형성

학습 정리 객체의 형 변환 ① 상속 관계의 클래스로부터 생성된 객체들 사이의 형 변환을 허용합니다. ② 상위 클래스형으로 선언된 객체 변수에 하위 클래스로부터 생성된 객체를 배정할 수 있으며, 이 경우 상위 클래스에 선언된 요소만 접근이 가능합니다.

학습 정리 연산자 instanceof 다형성 ① 특정 클래스의 객체인지를 판별해 주는 이진 연산자입니다. 하위 클래스로부터 생성된 객체는 상위 클래스의 객체입니다. 그 이유는 하위 클래스로부터 생성된 객체는 상위 클래스의 모든 요소를 가지고 있기 때문입니다. ② Object 클래스는 자바의 최상위 클래스이기 때문에, 자바에서 사용되는 모든 객체는 Object의 객체입니다. 다형성 ① 상속, 객체의 형 변환, 오버라이딩을 이용하면 효율적인 다형성을 구현할 수 있습니다. ② 상위 클래스의 객체 변수에 하위 클래스로부터 생성된 객체를 배정하여, 메소드를 호출하면 하위 클래스에서 오버라이딩된 메소드가 수행됩니다.

학습 정리 추상 클래스 ① 추상 클래스는 하위 클래스에서 구현되는 추상적인 기능만을 정의하는 클래스로서 추상 메소드를 가지는 클래스입니다. ② 추상 클래스는 기능이 무엇what인지만 정의하고, 어떻게how 구현되어 있는지는 정의하지 않습니다. 어떻게 구현되었는지는 추상 클래스를 상속받는 하위 클래스에서 정의합니다. 추상 클래스와 다형성 ① 추상 클래스의 상속, 객체의 형 변환, 오버라이딩을 이용하면 효율적인 다형성을 구현할 수 있습니다.

학습 정리 인터페이스 ① 인터페이스는 상수와 메소드 선언들의 집합입니다. 인터페이스는 추상 메소드와 상수만으로 구성된 추상 클래스라 할 수 있습니다. ② 인터페이스의 개념을 이용하여 다중 상속의 개념을 구현할 수 있습니다. ③ 인터페이스를 포함하려면 implements 예약어를 사용합니다. ④ 인터페이스에 선언된 모든 메소드는 오버라이딩하여 구현하여야 합니다. 클래스를 생성할 때 다수 개의 인터페이스를 포함할 수 있으며, 이 경우에 모든 인터페이스에서 선언된 모든 메소드를 오버라이딩 해야 합니다. ⑤ 인터페이스들은 상속된 계층 구조를 이룰 수 있으며, 상속된 인터페이스를 포함하는 클래스는 관련된 모든 메소드를 오버라이딩 해야 합니다.

수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 41