1 / 33

9 장 . 인터페이스와 예외처리

9 장 . 인터페이스와 예외처리. Java. public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt (a1[0]); b = Integer.parseInt (a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println (" 두수의 합은 " + sum + " 입니다 "); }

gisela
Download Presentation

9 장 . 인터페이스와 예외처리

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9장. 인터페이스와예외처리 Java public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println("두수의 합은 " + sum + "입니다"); } }

  2. 학습목표

  3. 목차 • section 1 인터페이스의 개요와 인터페이스의 정의 • section 2 인터페이스의 사용 • section 3 인터페이스 상속 • section 4 예외의 개요 • section 5 예외 관련 클래스 • section 6 예외 처리 • 6-1 메소드에서 예외 처리 • 6-2 호출한 메소드에 예외를 넘겨주는 방법

  4. 1 인터페이스의 개요와 인터페이스의 정의 • 인터페이스(interface) • 상수와 메소드 선언들의 집합 • 추상 클래스보다 더욱 완벽한 추상화를 제공 public interface 인터페이스이름 [extends 인터페이스이름, .....] { ..... 상수선언 ..... 메소드선언 } 형식

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

  6. 2 인터페이스의 사용 • 클래스에서 인터페이스를 사용하기 위해 implements 예약어를 사용 Man 클래스는 두 개의 인터페이스를 포함하고 있다 인터페이스에서 선언된 메소드는 모두 오버라이딩하여 구현하여야 한다.

  7. 2 인터페이스의 사용 • 실습예제 두 개의 메소드를 가진 인터페이스 인터페이스를 포함하는 클래스 인터페이스에서 선언된 메소드오버라이딩

  8. 2 인터페이스의 사용 • 실습예제 인터페이스에서 선언된 메소드오버라이딩

  9. 2 인터페이스의 사용 • 실습예제

  10. 2 인터페이스의 사용 • 프로그램 설명 • 00~00 : 스택을 구현하기 위한 인터페이스를 작성. 이 인터페이스를 포함하는 모든 클래스는 반드시 두 개의 메소드(push()와 pop())를 구현하여야 한다. • 00~00 : 인터페이스를 포함하는 스택 클래스를 작성하였다. 두 개의 메소드를오버라이딩하여 구현하였다. 스택은 정수의 배열로 구성하였다. • 00~00 : 10개와 5개의 요소를 가진 스택(배열)을 생성하였으며, 각각의 스택에 정수를 저장하고, 저장된 스택으로부터pop() 메소드를 수행하여 출력하였다.

  11. 3 인터페이스 상속 • 인터페이스 선언 시 필요에 따라 다른 인터페이스로부터 상속받을 수 있음 public interface 인터페이스이름 extends 인터페이스이름[, 인터페이스이름,....] { .... 상수선언 .... 메소드선언 } 형식

  12. 3 인터페이스 상속 • 인터페이스 선언 시 필요에 따라 다른 인터페이스로부터 상속받을 수 있음 인터페이스의 모든 메소드가 구현되어야 한다 인터페이스의 모든 메소드가 구현되어야 한다 인터페이스의 모든 메소드가 구현되어야 한다

  13. 4 예외의 개요 • 예외 • 프로그램 실행 중에 발생하는 예기치 않은 사건 x() 메소드 호출 y() 메소드 호출 z() 메소드 호출 1을 0으로 나눈다. 예외 발생

  14. 4 예외의 개요 • JVM의 묵시적인 예외 처리기 • 예외가 발생하면 예외 객체를 생성 • 예외가 발생된 메소드에서Error를 출력 • 메소드를 호출한 메소드에 예외를 반환 예외가 발생한 원인(by zero)과 예외와 연관된 클래스

  15. 5 예외 관련 클래스 • 자바에서는 예외 즉 오류도 객체로 취급 • 예외에 대하여 java.lang패키지에 예외 관련 클래스를 제공 • 자바의 모든 예외 관련 클래스는 java.lang.Throwable클래스의 하위 클래스로 제공

  16. 5 예외 관련 클래스 • 예외 클래스의 계층구조(상속관계) 290 page

  17. 6 예외 처리 • 입출력을 수행하는 프로그램

  18. 6 예외 처리 • 실행시키면 다음과 같은 오류를 발생

  19. 6 예외 처리 6-1 메소드에서 예외 처리 • 메소드에서의 예외 처리 try { ...... // try 블록 } catch(예외타입1 매개변수 1) { ..... // 예외 처리 블록1 } catch(예외타입2 매개변수 2) { ..... // 예외 처리 블록 2 } ........ catch(예외타입N 매개변수 N) { ...... // 예외 처리 블록 N } finally { ...... // finally블록 } 형식

  20. 6 예외 처리 6-1 메소드에서 예외 처리 • 발생되는 예외를 메소드 내에서 직접 처리하기 위한 구문 • try 블록 : 조건 없이 실행되는 문장 • catch 블록은 try 블록 바로 다음에 위치 • finally 블록은 필요에 따라 선택적으로 사용

  21. 6 예외 처리 6-1 메소드에서 예외 처리 • 실습예제 입출력 패키지를 포함하는 문장(11장 설명) try 블록 지정 발생된 예외를 처리

  22. 6 예외 처리 6-1 메소드에서 예외 처리 • 프로그램 설명 • 01 : import문은 클래스를 포함하는 부분으로 입출력 관련 패키지에 속하는 클래스를 포함하는 명령문이다. 12장에서 자세하게 설명한다. • 03~10 : 프로그램에서 예외가 발생할 가능성이 있는 부분을 try 블록으로 지정한다. • 11~14 : 예외가 발생할 경우 처리하는 문장이다. • a.txt 파일 없이 실행 • a.txt 파일에 “알기쉽게 해설한 자바를 사랑합니다”를 저장하고 실행

  23. 6 예외 처리 6-2 호출한 메소드에 예외를 넘겨주는 방법 • 예외를 호출 메소드에 넘겨주는 방법 public void c() throws 예외클래스 [, 예외 클래스, .....] 형식

  24. 6 예외 처리 6-2 호출한 메소드에 예외를 넘겨주는 방법 • 실습예제 throws() 절을 이용하여 예외를 JVM에 넘김

  25. 6 예외 처리 6-2 호출한 메소드에 예외를 넘겨주는 방법 • 프로그램 설명 • 03 : 일반적으로 main() 메소드는JVM에 의해 호출된다. 이 프로그램은 main() 메소드에서throws 절을 이용하여 Exception 예외를 넘기고 있다. Exception 예외는 일반적인 예외 클래스들의 상위 클래스이다. 이 예외를 지정하면, 그 예외의 하위 클래스와 연관된 예외는 모두 처리할 수 있다. 그 이유는 상위 클래스의 모든 요소들을 하위 클래스에서 모두 가지고 있기 때문이다.

  26. 자바 프로그래머가 되기 위한 필수조건 클래스 라이브러리 사용 • [Step1] JDK 라이브러리 문서를 다운받는다. • java.sun.com 사이트에 오른쪽 다운로드 부분의 “Java SE”를 선택한다. • 두 번째 화면에서 아래쪽의 테이블에서 “Java SE 6 Documentation” 항목의 오른쪽 다운로드 버튼을 선택한다. 298 page

  27. 자바 프로그래머가 되기 위한 필수조건 클래스 라이브러리 사용 • 다음 화면에서 라이선스 동의를 구하는 부분을 선택하면 그다음 화면에서 압축된 문서 파일을 다운받을 수 있다. 299 page

  28. 자바 프로그래머가 되기 위한 필수조건 클래스 라이브러리 사용 • 다운받은 파일을 적당한 곳에 압축을 풀어 사용한다. 압축을 풀면 7개의 디렉터리와 하나의 파일이 나타난다.

  29. 자바 프로그래머가 되기 위한 필수조건 클래스 라이브러리 사용 • [Step2] JDK 라이브러리의 사용을 위한 참조 • 특정 라이브러리 클래스를 사용하기 위해서는 클래스 이름과 패키지 이름을 가지고 검색해야 한다. 우선 설치된 디렉터리 중에서 api디렉터리에 있는 index.html 파일을 웹검색기로 실행시킨다. 300 page

  30. 자바 프로그래머가 되기 위한 필수조건 클래스 라이브러리 사용 • 검색기의 왼쪽 아래 창에는 모든 클래스들이 알파벳 순으로 나열되어 있다. 오른쪽 창에는 패키지별로 클래스를 찾을 수 있도록 제공하고 있다. • 원하는 클래스를 찾아 생성자와메소드를 탐색하여 클래스를 사용한다. 각 클래스에서 제공되는 생성자와 인터페이스, 메소드 등에 관한 자세한 사용방법이 제공되고 있다.

  31. 학습정리 • 인터페이스의 개요와 인터페이스 정의 • 인터페이스는 상수와 메소드 선언들의 집합이다. • 인터페이스는 추상 메소드와 상수만으로 구성된 추상 클래스라 할 수 있다. • 인터페이스의 개념을 이용하여 다중 상속의 개념을 구현할 수 있다. • 인터페이스의 사용과 상속 • 인터페이스를 포함하려면 implements 예약어를 사용한다. • 인터페이스에 선언된 모든 메소드는오버라이딩하여 구현하여야 한다. • 클래스와는 달리 다수 개의 인터페이스를 지정할 수 있다. • 인터페이스들은 상속된 계층구조를 이룰 수 있으며, 상속된 인터페이스를 포함하는 클래스는 관련된 모든 메소드를오버라이딩해야 한다.

  32. 학습정리 • 예외의 개요 • 예외란 프로그램 실행 중에 발생하는 예기치 않은 사건을 말한다. • JVM은 프로그램 실행 중 예외가 발생하면, 관련된 예외 클래스로부터 객체를 생성하여 예외를 발생시킨 메소드에 전달한다. • 예외 관련 클래스 • 자바는 약 50여 개의 예외 관련 클래스를 제공하고 있다. • RuntimeException클래스와 Error 클래스와 연관된(하위 클래스 포함) 예외는 프로그램에서 처리하지 않는다. 프로그램 처리에 드는 시간과 비용이 크기 때문이다. • 자바는 RuntimeException클래스와 Error 클래스가 아닌 예외들은 명시적인 예외 처리를 요구한다. • 예외 처리 • 자바는 2가지 예외 처리 방법을 제공한다. • 한 가지 방법은 try-catch 절을 이용하여 예외가 발생하면, 발생한 메소드 내에서 예외를 처리하는 방법이며, 다른 방법은 발생된 예외를 호출한 메소드에 넘겨주는 방법이다.

  33. 9장. 인터페이스와 예외처리 수고하셨습니다. 질문 있습니까?

More Related