Inheritance and Polymorphism 2009. 03. 16 UIC Laboratory 황 우 연.

Slides:



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

CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
2016 유성환 Hybrid MOBILE.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
5. 접근 제한자의 이해 SCJP 자격증 프로젝트 발표자 : 노효진.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Cross Compiler를이용한 커널 컴파일 및 포팅
Java Development Environment & Eclipse IDE
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JSP Programming with a Workbook
이클립스를 이용한 AVR 개발환경 구축 로보틱스랩 유승일.
Java 기초 (Java JDK 설치 및 환경설정)
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
C / C++ Programming in multi platform
1. C++ 시작하기.
자바 5.0 프로그래밍.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
자바 5.0 프로그래밍.
UNIT 02 JDK & Tools 설치 로봇 SW 컨텐츠 교육원 조용수.
JAVA CDT install
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
환경 : Windows7 64bit 버전 : apache-ant-1.9.7
[INA470] Java Programming Youn-Hee Han
7장 인터페이스와 추상 클래스.
Method & library.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
27장. 모듈화 프로그래밍.
Java 2장. 자바의 환경 public class SumTest {
개발 환경 세팅.
영상처리 실습 인공지능연구실.
Go Lang 리뷰 이동은.
제목소개 1. 안드로이드소개 2. 패킷캡쳐를 위한 환경 소개 3. ndk 소개 4. lipcap 5. 6.도식화 그림
Lesson 2. 기본 데이터형.
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
자바 5.0 프로그래밍.
Power Java 제11장 상속.
JA A V W. 06.
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
12. 상속 : 고급.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
C# 07장. 객체 지향 개념.
OpenCV 설정 2.21 만든이 딩딩.
05. General Linear List – Homework
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
Platform Builder 사용법.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
J2SE 설치 부산대학교 인공지능 연구실.
Presentation transcript:

Inheritance and Polymorphism UIC Laboratory 황 우 연

Goals  IDE Tool 사용으로 얻을 수 있는 장점 이해  Java Platform & Eclipse 설치 및 활용  객체지향에서의 상속과 다형성 개념을 코드 화할 수 있는 지식 습득  예제 및 과제를 통한 코드 구현

IDE  Integrated Development Environment 코딩, 디버그, 컴파일 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공 종래의 소프트웨어 개발에서는 컴파일러, 텍스트 편집기, 디버거 등을 따로 사용하였음 이러한 프로그램들을 하나로 묶어 대화형 인터페이스를 제공한 것이 통합 개발 환경임  IDE 의 예 Microsoft - Visual Studio Borland - Developer Studio Codegear - Jbuilder Eclipse Foundation - Eclipse

Eclipse 의 특징 및 주요 기능  자바 프로그래밍 개발이 용이하며, 플러그 인을 통해 C/C++, PHP, HTML 등 여러 언어 의 개발이 가능  자바 기반으로 VM 위에서 어떤 플랫폼에서 든 실행 가능  다양한 플러그인을 통한 확장 지원  자바에 대해 강력한 리팩토링 기능을 제공  현재 ( ) 최신 버전 : 3.4.2

Eclipse 를 사용하는데 필요한 S/W  Java Platform Eclipse 사용을 위해서는 Java 실행환경이 필요 Sun 사에 의해 각 운영체제별 JDK 가 제공되고 있음 Java2 Standard Edition 버전 이상의 Java Platform 이 필요함 최신 버전의 J2SE Download: /USD/VerifyItem-Start/jdk-6u12-windows-i586- p.exe?BundledLineItemUUID=FTRIBe.oiNcAAAEfh1AhW_l8&OrderID=61lIBe.oVZgAAAEffFAhW_l8& ProductID=ZsNIBe.pM7cAAAEexzlTv_an&FileName=/jdk-6u12-windows-i586-p.exe /USD/VerifyItem-Start/jdk-6u12-windows-i586- p.exe?BundledLineItemUUID=FTRIBe.oiNcAAAEfh1AhW_l8&OrderID=61lIBe.oVZgAAAEffFAhW_l8& ProductID=ZsNIBe.pM7cAAAEexzlTv_an&FileName=/jdk-6u12-windows-i586-p.exe

Java 환경변수 설정  J2SE 설치 후

Java 환경변수 설정  시스템 변수에 아래 값들을 추가 Path, Java_Home  c:\Program Files\Java\jdk1.6.0_11\bin; Classpath .;C:\Program Files\Java\jdk1.6.0_11\SRC.ZIP; C:\Program Files\Java\jdk1.6.0_11\lib;

Eclipse 설치 

Eclipse 설치  압축 해제 후 eclipse.exe 파일 실행

Eclipse 실행  Workspace 각각의 개발 환경에서 작성되는 프로젝트마다 ‘project’ 라는 형태로 파일을 관리하는 것 각 프로젝트마다 완성된 프로젝트가 다르면 취급하는 파 일 등도 완전히 다른 곳으로 나누어져 관리되도록 함 프로젝트들을 관리하는 일종의 폴더

Eclipse 실행 Tool bar Perspective and Fast View bar Resource Navigator view Menu bar Message area Editor Status area Text editor

프로젝트 생성  [File] → [New] → [Java Project]  Project name: 입력 후 [Finish] 버튼 클릭

패키지 생성

클래스 생성

소스코드 편집

Inheritance  무엇인가를 상위에서 하위로 전달하여 주는 개념  객체지향 프로그래밍에서 코드의 재사용성 과 간결성을 제공  Super(Parent) Class 상속 관계에서 기존의 클래스를 지칭  Sub(Child) Class 슈퍼클래스를 확장하여 새롭게 정의한 클래스 슈퍼클래스의 속성 및 기능들을 전부 물려받음

Inheritance 의 사용 형식  자바에서는 클래스를 상속받기 위해서 extends 라는 키워드를 사용  상속받은 클래스는 슈퍼클래스의 pubilc, protected, default 형식을 갖는 모든 멤버를 상속받음  아래와 같은 계층 구조로 클래스가 구성되어 있을 때 다음과 같이 선언 Public class B extends A { }

Example1. 멤버 변수의 상속

 실행결과 클래스 C 의 객체 num 은 클래스 A, B 의 특성을 상속받았기 때문에 클래스 A,B 에 있는 모든 멤 버 사용 가능 num 을 사용하여 멤버 변수 c 는 물론이고, 상속 받은 a, b 도 처리 가능

Example2. Method 의 상속

 실행결과 객체 uic 를 사용해 show() method 에는 접근할 수 없음  에러가 난 부분을 삭제 후 재실행한 결과

Polymorphism  “One interface, Multiple implementation” 하나의 인터페이스를 이용해서 다양한 구현을 제공  하나의 객체에 여러 가지 기능을 포함시켜 효율성을 높일 수 있음  자바에서는 다형성 구현을 위해 Overloading, Overriding, Interface 등의 방 법을 제공

Overriding vs Overloading  Overriding( 재정의 ) 상속 관계에 있는 슈퍼클래스와 서브클래스에서 같은 이 름의 method 를 정의하는 것  Overloading( 다중 정의 ) 같은 클래스 안에서 이름이 같은 method 를 두개 이상 정 의하는 것

Example3. Method Overriding  실행결과

Example4. Method Overriding

 실행결과 슈퍼클래스에 있는 talk() method 를 상속받은 서브클 래스들에서 재정의 똑같은 talk() 라도 그 객체 에 따라 다른 기능을 수행

Exercises  코드 작성방법 println 문을 이용하여 첫줄에 학번, 성명 출력 작성한 소스코드 파일을 홈페이지의 과제제출 게 시판에 업로드 결과물의 소스코드 파일 (*.java) 이 여러 개일 경 우, 하나의 파일로 압축후 업로드  압축파일명 : “ 학번 _ 성명.zip”  제출마감 오전까지

Exercise 1.  실습 보충자료 (hwp) 파일 내 미완성 코드를 사용하여 상속과 재정의를 구현 p.2 ( 상속 ) p.4 ( 재정의 )  상속과 재정의 결과를 println 문을 이용하여 화면으로 출력

Shape name // 도형이름 public point // 점의 개수 private GetPoint() // 점의 개수 구하기 SetPoint() // 점수 개수 설정 Draw() // 도형 그리기 GetRim() // 둘레 구하기 GetArea() // 넓이 구하기 Rectangle width // 밑변 height // 높이 Set…(), Get…() TriangleCircle Square Exercise 2.