
9.1 예외 처리의 기초 finally 블록 try-catch 구조 다음에 finally 블록을 추가할 수 있다. 자바의 try-catch-finally 구문의 구조와 동작은 아래와 같다. 1) try 블록을 실행하다 예외가 발생하면 try 블록의 실행이 중단되고 catch 블록을 차례대로 검사한다. 예외 타입이 일치하는 catch 블록을 발견하면 해당 catch 블록을 실행하고 마짐가으로 finally 블록을 실행한 후 나머지 프로그램의 실행이 계속된다. 2) try 블록을 실행하다가 예외가 발생했지만 매개변수의 타입이 일치하는 catch 블록을 발견할 수 없는 경우에는 finally 블록을 실행하고 나서 오류 메시지를 출력하고 프로그램이 강제 종료된다. 3) try 블록의 실행에서 예외가 발생하지 않..
8.1 추상 클래스 추상 클래스 정의 추상 메소드는 몸체를 갖지 않으므로 실행할 수 없는 메소드이다. 추상 메소드가 하나라도 포함되면 그 클래스는 추상 클래스(abstract class)로 정의되어야 한다. 클래스를 정의할 때 class 앞에 abstract를 추가하면 추상 클래스가 된다. public abstract class MyShape { protected int x, y; public MyShape(int x, int y) { this.x = x; this.y = y; } public abstract void draw(Graphics g); } 하나 혹은 그 이상의 추상 메소드를 가지는 클래스는 추상 클래스가 되어야 하는데, 추상 클래스는 객체를 생성하지 못한다. MyShape p; p = ne..