Java
-
자바의정석 8장 예외처리, 예외던지Java/자바의정석 2023. 2. 22. 10:21
package Chap08; class Ex8_13 { public static void main(String args[]) { try { install(); } catch(InstallException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } // main의 끝 static void install() throws InstallException { System.out.println("시작"); try { startInstall(); // 프로그램 설치에 필요한 준비를 한다. copyFiles(); // 파일들을 복사한다. } catch (SpaceException2 e) { System.out.println("전달..
-
자바의정석 Exception 예외처리, printStackTrace() (Ex8~Java/자바의정석 2023. 2. 21. 15:39
class Ex8_5 { 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 (ArithmeticException ae) { //-printStackTrace() : 예외발생 당시 호출스택에 있었던 메서드의 정보와 예외 메세지를 화면에 출력한다 ae.printStackTrace(); //-getMessage() : 발생한 예외 클래스의 인스턴스에 저장된 메시지를 얻을 수 있다 System.out.println("에러메시지는: ..
-
JAVA Exception 예외처리 간단 명료 정리!!Java/자바의정석 2023. 2. 21. 14:39
예외처리에는 위의 그림과 같이 크게 RuntimeException(언 체크트예외), IOException(체크드 예외) 로 나뉘어진다. RuntimeException(언 체크트예외) IOException(체크드 예외) 처리여부 필수처리 하지 않아도 됨 필수적으로 처리 확인 시점 실행 시점 컴파일 시점 예외발생 시 트랜잭션 처리 Roll-back 실행 Roll-back 하지 않음 발생원인 프로그래머의 실수 외부영향 Checked 예외의 경우에는 try ~ catch문이나 throws를 사용하여 예외를 반드시 처리해주어야한다.
-
자바의정석 Ex7_11 인터페이스Java/자바의정석 2023. 2. 21. 13:53
package Chap07; class Ex7_11 { public static void main(String[] args) { Child3 c = new Child3(); c.method1(); c.method2(); MyInterface.staticMethod(); MyInterface2.staticMethod(); } } //인터페이스는 다중 상속이 가능 ,로 연결 class Child3 extends Parent3 implements MyInterface, MyInterface2 { Child3(){ System.out.println("Child3 객체 생성"); } @Override public void method1() { System.out.println("method1() in Child3..
-
자바의정석 Ex7_10 추상 클래스, 추상 메서드Java/자바의정석 2023. 2. 21. 13:23
package Chap07; public class Ex7_10 { public static void main(String[] args) { Unit[] group = { new Marine(), new Tank(), new Dropship() }; for (int i = 0; i < group.length; i++) group[i].move(100, 200); } } abstract class Unit { int x, y; //move라는 추상 메서드 abstract void move(int x, int y); void stop() { } } class Marine extends Unit { //추상클래스를 완성시킴 void move(int x, int y) { System.out.println("Ma..
-
자바의 정석 Ex7_9 (하나의 배열에 여러종류의 객체 저장)Java/자바의정석 2023. 2. 20. 16:54
package Chap07; class Product2 { int price; int bonusPoint; Product2(int price) { this.price = price; bonusPoint = (int)(price/10.0); } } class Tv2 extends Product2 { Tv2() { super(100); } @Override public String toString() { return "Tv"; } } class Computer2 extends Product2 { Computer2() { super(200); } @Override public String toString() { return "Computer"; } } class Audio2 extends Product2 { ..
-
자바의정석 Ex7_7(다형성)Java/자바의정석 2023. 2. 20. 16:13
package Chap07; class Ex7_7 { public static void main(String args[]) { Car car = null; //Car타입의 car 참조변수에 null 값 대입 FireEngine fe = new FireEngine(); //FireEngine를 참조하는 fe 참조변수 생성 FireEngine fe2 = null; //FireEngine을 참조하는fe2참조변수 //FireEngine -> water()까지 사용가능 //Car참조하는 변수는 water() 사용 불가능 //Car -> 조상 , FireEngine -> 자손 fe.water(); car = fe; // car = (Car)fe;에서 형변환이 생략됨, 자손->부모 생략가능 // car.water()..
-
자바의 정석 (this, super)의 이해Java/자바의정석 2023. 2. 20. 15:15
package Chap07; public class Ex7_4 { public static void main(String[] args) { Point3D p = new Point3D(1, 2, 3); System.out.println("x=" + p.x + ",y=" + p.y + ",z=" + p.z); } } class Point { int x, y; Point(int x, int y) { this.x = x; this.y = y; } } class Point3D extends Point { int z; Point3D(int x, int y, int z) { super(x, y); // Point(int x, int y)를 호출 this.z = z; } } ===========실행결과=========..