Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용

Slides:



Advertisements
Similar presentations
Chap02 자바환경과 자바 프로그램 Section 1 : 자바 개발 환경 Section 2 : 자바 통합 환경 Section 3 : 자바 응용 프로그램과 애플릿 프로그램 Section 4 : 자바 응용 프로그램 Section 5 : 자바 애플릿 프로그램.
Advertisements

멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
어서와 Java는 처음이지! 제3장선택과 반복.
11장. 프로토콜 핸들러 AI &HC I LAB 김 성 현.
제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
10. 예외 처리.
Ch.22 Command Pattern 장 덕 성 계명대학교 컴퓨터공학과 정보공학실험실
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
객체지향 프로그래밍.
Chap05 상속 5.1 상속의 개요 5.2 멤버 변수의 상속 5.3 메소드의 상속과 오버라이딩(Overriding)
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
명품 JAVA Essential.
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
5 익셉션 처리.
윤 홍 란 제3장 클래스와 객체의 사용-1 윤 홍 란
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
[ 단원 08 ] 예외처리와 스레드.
명품 JAVA Essential.
정적 메소드와 정적 변수 상수 래퍼 클래스 포매팅
명품 JAVA Essential.
Power Java 제4장 자바 프로그래밍 기초.
[INA470] Java Programming Youn-Hee Han
10장 객체-지향 프로그래밍 II ©창병모.
8장 자바 입출력.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
자바 5.0 프로그래밍.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
명품 Java Programming.
최용술 장 Thread 최용술
명품 JAVA Essential.
Chap07 예외 처리 7.1 예외의 개요 7.2 예외 관련 클래스 7.3 예외 처리.
10장 다중 스레드 10.1 스레드 개요 10.2 Thread 클래스 10.3 스레드 생성
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
김 정 석 Web Programming 김 정 석
주소록 프로그램.
Power Java 제20장 패키지.
Network Programming(1)
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Java 8장. 상속 public class SumTest {
Java 9장. 인터페이스와 예외처리 public class SumTest {
어서와 Java는 처음이지! 제9장 인터페이스, 패키지.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
Web programming Chap 04 상속 김 정 석
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
[INA470] Java Programming Youn-Hee Han
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
JA A V W. 04.
자바 5.0 프로그래밍.
JA V A W. 07 Sb.L.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
제8장 쓰레드 프로그래밍.
제 4 장 클래스 작성 Lab 4- 2.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
자바 5.0 프로그래밍.
자바 프로그래밍 Thread를 이용한 애니메이션 서울호서전문학교 게임프로그램개발과.
Java 5장. 객체지향 개념 public class SumTest {
11장 다형성과 추상 클래스, 인터페이스 Section 1 객체의 형 변환 Section 2 연산자 Section 3 다형성
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Presentation transcript:

Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조 8.5 연산자 Instanceof 8.6 패키지 개요와 JDK 패키지 8.7 패키지의 사용 8.8 사용자 패키지의 작성 및 사용

8.1 인터페이스의 개요와 인터페이스 정의 인터페이스 개요 인터페이스 정의 상수와 메소드 선언(=추상메소드)만을 가진다 다중 상속의 기능을 제공 클래스가 다른 클래스로부터 상속을 받고 있는 상태에서 다른 요소들의 상속이 요구될 때 인터페이스를 사용 인터페이스 정의 public interface 인터페이스이름 [extends 인터페이스이름, .....] { ..... // 상수선언 ..... // 메소드 선언 }

인터페이스 정의 - 예 public interface Sleeper { public long ONE_SECOND = 1000; public long ONE_MINUTE = 60000; public void wakeup(); }

8.2 인터페이스의 사용 클래스 생성시 인터페이스를 사용하기 위해 “implements”예약어 사용 인터페이스를 사용하여 생성된 클래스는 인터페이스에 선언된 모든 메소드를 오버라이딩하여 구현 하여야 한다 인터페이스를 사용하는 클래스의 구문 형태 [public/final/abstract] class 클래스이름 extends 상위클래스이름 implements 인터페이스이름[, 인터페이스이름, .....] { .... // 멤버변수선언 .... // 생성자 .... // 메소드선언 // 인터페이스에 선언된 모든 메소드를 오버라이딩하여 선언 }

인터페이스의 사용 - 예 public interface Sleeper { public long ONE_SECOND = 1000; public long ONE_MINUTE = 60000; public void wakeup(); } public interface Worker { public long WORK_TIME = 8; public void sleep(); public class Man implements Sleeper, Worker { // Man 클래스는 두 개의 인터페이스를 포함하고 있다 public void wakeup() { // 인터페이스에서 선언된 모든 메소드를 오버라이딩 System.out.println("빨리 일어나 !!"); public void sleep() { System.out.println("빨리 자 !!"); …………..

8.3 인터페이스의 상속 인터페이스도 클래스와 같이 상속될 수 있다 인터페이스 상속시 예약어 extends 사용 public interface 인터페이스이름 extends 인터페이스이름[, 인터페이스 이름,....] { 상수선언 메소드 선언 }

인터페이스의 상속 - 예 Sleeper Worker People public interface Sleeper { public long ONE_SECOND = 1000; public long ONE_MINUTE = 60000; public void wakeup(); } public interface Worker { public long WORK_TIME = 8; public void sleep(); public interface People extends Sleeper, Worker { public int MAX = 24; public int MIN = 0; public void work(); Sleeper Worker People

8.4 인터페이스 참조 인터페이스도 클래스처럼 형변환이 가능 인터페이스 타입의 객체 참조 변수에 인터페이스를 포함하는 클래스의 객체를 할당 클래스와 마찬가지로 인터페이스 타입의 객체 참조변수를 통하여는 인터페이스에 선언된 속성만 접근 가능

인터페이스 참조 - 예 InterTest.java:19: No variable a defined in interface A. System.out.println("A1의 a 값 출력"+interfaceA.a); ^ 1 error interface A { int CONS = 5; public void display(String s); } class A1 implements A { int a = 10; public void display(String s) System.out.println("display 메소드 구현 " + s); } } class InterTest { public static void main(String args[]) { A interfaceA; interfaceA = new A1(); // A 인터페이스 형의 변수에 A1 클래스의 객체를 할당 interfaceA.display("인터페이스 테스트"); System.out.println("A의 상수 CONS의 값은 "+interfaceA.CONS); System.out.println("A1의 a 값 출력"+interfaceA.a); /* 에러 발생. 즉 인터페이스 타입의 객체 참조 변수는 인터페이스에서 선언된 상수와 메소드에만 접근이 가능 */

8.5 연산자 instanceof 객체가 특정 클래스나 인터페이스로부터 생성된 객체인지를 판별해주는 관계 연산자(표4-5) 객체가 특정 클래스나 인터페이스로부터 생성된 객체인지를 판별해주는 관계 연산자(표4-5) 형식 객체참조변수 instanceof type

8.6 패키지 개요와 SDK 패키지 패키지 : 비슷한 종류의 클래스나 인터페이스들을 묶어 패키지화 한다 java.lang : 자바 프로그램의 기본적인 기능을 제공. 명시적으로 지정하지 않아도 모든 자바 프로그램에 포함되는 패키지 java.util : 유용한 유틸리티 클래스를 제공 java.io : 입출력 기능을 제공하는 패키지 java.net : 네트워킹과 관련된 기능을 제공하는 패키지. telnet, ftp, http와 같은 프로토콜을 사용할 수 있는 클래스를 제공 java.awt : 그래피컬 사용자 인터페이스(GUI)를 구축하기 위한 다양한 컴포넌트를 제공하는 패키지 java.awt.event : AWT 컴포넌트들의 이벤트를 제어하는 패키지 java.applet : 애플릿 프로그램과 연관된 클래스를 제공하는 패키지

8.7 패키지의 사용 import 문을 사용하여 패키지 포함 import java.util.Date; ...… Date date = new Date(); // java.util.Date 클래스만을 사용 import java.util.*; ....… Date date = new Date(); // java.util 패키지의 모든 클래스를 사용 Random random = new Random(); Stack stack = new Stack(); Hashtable hashtable = new Hashtable(); ........… ............

8.8 사용자 패키지의 작성 및 사용 사용자가 작성한 클래스를 패키지로 만들어 사용할 수 있다 작성된 클래스를 패키지로 지정하기 위해서는 프로그램의 첫 라인에 다음과 같이 지정하여야 한다 package package-name; CLASSPATH 환경 변수를 설정

사용자 패키지의 작성 및 사용 - 예 package MyPackage; // 작성된 클래스를 public class Name { // MyPackage 패키지로 선언 public void print() { System.out.println("cskim"); } import MyPackage.*; class TestUserPackage { public static void main(String args[]) { Name a = new Name(); // MyPackage의 클래스 사용 a.print();