Back-End - Main Menu/Java 212

Ex08_07~10 - 메서드에 예외 선언하기

package com.kook.ch08Projcet; //국.변 public class Ex08_07 { public static void main(String[] args) { //throw new Exception(); //Exception예외는 컴파일 예외(cheaked에러)로 컴파일에러 발생 //컴파일 에러는 명시적으로 예외 처리 try { throw new Exception(); } catch (Exception e) { e.printStackTrace(); } } } public class Ex08_08 { public static void main(String[] args) { //예외가 발생하였어도 에버 발생 안함(컴파일 에러가 아닌 실행중 발생 에러)--unchecked error thr..

Ex08_06 - 예외발생시키기

package com.kook.ch08Projcet; public class Ex08_06 { public static void main(String[] args) { try { //예외를 발생시키려면 예외 객체를 생성해야함,고의로 발생시킬 예외 객체 생성 Exception e = new Exception("고의 발생 예외"); //예외 객체 생성시 메시지를 넣어서 객체 생성 throw e; //예외 객체를 catch블록으로 던짐,예외 종류에 따라 catch블록 선택 } catch(Exception e) { System.out.println("예외메시지 : " + e.getMessage()); e.printStackTrace(); } System.out.println("try~catch밖"); } }

Ex08_05 - printStackTrace()와 getMessage()

package com.kook.ch08Projcet; //국.변 public class Ex08_05 { public static void main(String[] args) { System.out.println(1); System.out.println(2); try { System.out.println(3); System.out.println(0/0); System.out.println(4); } catch(Exception e) { //최상위 예외(Exception)이므로 모든 예외가 거쳐감 e.printStackTrace(); //call stack메모리에 있는 메서드의 정보에서 예외정보 콘솔창에 출력 System.out.println(e.getMessage()); //해당 예외 객체에 정의된 예외..

Ex08_01~02 - try~catch문에서의 흐름

package com.kook.ch08Projcet; public class Ex08_01 { public static void main(String[] args) { System.out.println(1); try { //예외가 발생하는 문장에서 해당 예외를 catch문으로 던져줌 //예외발생이 없으면 catch블록을 거치지 않고 다음 프로그램으로 진행 System.out.println(2); System.out.println(3); } catch(Exception e) { System.out.println(4); } System.out.println(5); } } //국.변 public class Ex08_02 { public static void main(String[] args) { System...

Ex07Quiz2

package com.kook.ch07Project; public class Ex07Quiz2 { public static void main(String[] args) { /* 1. Animal클래스는 리턴타입이 void이고 파라미터는 없으며 이름은 animalSound인 인스턴스 메서드를 갖는다. 메서드 내용은 The animal makes a sound를 출력 */ Animal a = new Animal(); a.animalSound(); /* 2. Animal을 상속한 Pig 클래스는 Animal의 메서드를 재정의하여 사용 재정의된 메서드 내용은 The pig says : wee wee을 출력 */ Pig p = new Pig(); p.animalSound(); /* 3. Animal을 상속한 Do..

Ex07_19 - 익명 클래스(2)

package com.kook.ch07Project; import java.awt.*; import java.awt.event.*; //국쌤변형예제(원본과상이) //익명 클래스로 GUI이벤트 처리 public class Ex07_19 { public static void main(String[] args) { Frame frame = new Frame("Title!"); frame.setSize(500,300); frame.setVisible(true); Button b = new Button("Start"); frame.add(b); //System.exit(1); //addActionListener메서드의 파라미터는 인터페이스 ActionListener 구현 객체 //익명의 클래스로 객체 구현 //인..

Ex07_18 - 익명클래스(1)

package com.kook.ch07Project; import java.awt.*; import java.awt.event.*; //가장 기본의 GUI패키지 클래스 //익명 클래스를 사용하지 않고 클래스를 만들어 사용 public class Ex07_18 { public static void main(String[] args) { Button b = new Button("Start"); b.addActionListener(new EventHandler()); //파라미터로 ActionListenner을 구현한(EventHandler) 객체 } } class EventHandler implements ActionListener { //ActionListener의 인터페이스를 구변할시 추상메서드를 구현 ..

Ex07_17 - 익명 클래스

package com.kook.ch07Project; //국쌤변형예제(원본과상이) //익명 클래스 만들기 public class Ex07_17 { //바로 해당 조상 클래스나 인터페이스 참조변수(객체)를 원하는 위치에 만들어 사용 //인스턴스형 Object iv = new Object() { //생성자 뒤 구현부를 만들어 원래 클래스로 처리할 내용을 작성함 void method() { } }; //클래스형 static Object cv = new Object() { void method() { } }; //로컬형 void myMetgod() { Object lv = new Object() { void method() { } }; } }

Ex07_16 - 내부 클래스 제어자와 접근성(5)

package com.kook.ch07Project; //국쌤변형예제(원본과상이) public class Ex07_16 { public static void main(String[] args) { OuterEx0716 out = new OuterEx0716(); OuterEx0716.Inner inner = out.new Inner(); //외부클래스의 내부 클래스 접근 (데이터형)은 외부클래스명.내부클래스명 inner.method(); } } class OuterEx0716{ //변수명들이 같을시 this를 사용 int value = 10; class Inner { int value = 10; void method() { int value = 30; //Inner내부클래스의 로컬변수 value Syst..