8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조

Slides:



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

6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
5. 접근 제한자의 이해 SCJP 자격증 프로젝트 발표자 : 노효진.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
10. 예외 처리.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
최윤정 Java 프로그래밍 클래스 상속 최윤정
JAVA 클래스와 멤버 2014년 4월 2일 19:00 손은경 강원대학교 데이터베이스 연구실 강원대학교 데이터베이스 연구실.
모바일 자바 프로그래밍 MIDlet 프로그래밍 Pslab 오민경.
Chapter 05. 클래스Ⅱ.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
제 5 장 상속과 다형성.
명품 JAVA Essential.
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Lesson 9. 예외처리.
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Lesson 6. 형변환.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
어서와 Java는 처음이지! 제7장 상속.
레퍼런스 타입에 대하여 열거 타입의 선언과 이용
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
Java 6장. 클래스 : 속성 public class SumTest {
Lesson 7. 클래스와 메소드 - 1.
10장. 예외처리.
자바 5.0 프로그래밍.
Choi, Namseok Java 기초 (객체와 클래스) Choi, Namseok
C#.
6장 클래스 6.1 클래스의 일반 구조 6.2 클래스 선언 6.3 객체의 생성 6.4 멤버 변수 6.5 멤버변수 접근 한정자
[INA470] Java Programming Youn-Hee Han
13. 연산자 오버로딩.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
7장 인터페이스와 추상 클래스.
Java 9장. 인터페이스와 예외처리 public class SumTest {
Method & library.
JA A V W. 03.
Lesson 4. 수식과 연산자.
제3장 클래스와 객체의 사용.
Lesson 2. 기본 데이터형.
1주차 : 자바기본 소제목 : 자바 프로그래밍 기본.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
Power Java 제11장 상속.
JA A V W. 06.
10장 상속 Section 1 상속의 개요 Section 2 상속과 한정자 Section 3 상속과 생성자
12. 상속 : 고급.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
3. 모듈 (5장. 모듈).
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
자바 객체 지향 프로그래밍 Ps lab 김윤경.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

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

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

인터페이스 정의 - 예 8.1 인터페이스의 개요와 인터페이스 정의 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 인터페이스이름[, 인터페이스이름, .....] { .... // 멤버 변수 선언 .... // 생성자 .... // 메소드 선언 // 인터페이스에 선언된 모든 메소드를 오버라이딩하여 선언 }

인터페이스의 사용 - 예 8.2 인터페이스의 사용 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() { .......…

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

Sleeper Worker People 인터페이스의 상속 - 예 8.3 인터페이스의 상속 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 인터페이스 참조 - 인터페이스도 클래스처럼 형 변환이 가능 - 인터페이스 타입의 객체 참조 변수에 인터페이스를 포함하는 클래스의 객체를 할당 - 클래스와 마찬가지로 인터페이스 타입의 객체 참조 변수를 통해서는 인터페이스에 선언된 속성만 접근 가능

인터페이스 참조 - 예 8.4 인터페이스 참조 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); /* 에러 발생. 즉 인터페이스 타입의 객체 참조 변수는 인터페이스에서 선언된 상수와 메소드에만 접근이 가능 */ InterTest.java:19: No variable a defined in interface A. System.out.println("A1의 a 값 출력"+interfaceA.a); ^ 1 error

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

8.6 패키지 개요와 SDK 패키지 패키지 : 비슷한 종류의 클래스나 인터페이스들을 묶어 패키지화한다. 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 환경 변수를 설정

사용자 패키지의 작성 및 사용 - 예 8.8 사용자 패키지의 작성 및 사용 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();