JAVA-Basic

Interface 에 정의된 메소드에서 던질 수 있는 Exception간 관계

Jungsoomin :) 2020. 7. 28. 09:37

java.sqlSQLException을 인터페이스의 추상메서드는 던지고 있다. 

 

 그 구현객체는 반드시 추상메서드를 재정의 해야하는데, 이때 구현객체에서 메서드 재정의시 던질 수 있는 익셉션은

 

Interface에 정의된 메서드가 던지는 Exception의 하위 타입이어야한다.

package test;

import java.sql.SQLException;
import java.sql.SQLTransientException;

public class ExceptionEx1 {
	
 public void main() {
	 A a = new B();

		try {
			a.method();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	
  }
}

class B implements A{

	@Override
	public void method() throws SQLTransientException{// 기존 메서드의 하위클래스 엑셉션만 던질 수 있다.
		
	}//기존메서드 보다 상위 익셉션을 던질시 컴파일 에러가 난다.
	
}

interface A{
	 void method() throws SQLException;
}

'JAVA-Basic' 카테고리의 다른 글

디버깅  (0) 2020.08.28
품질.  (0) 2020.08.28
10.Thread와 동기화(synchronized)  (0) 2020.07.10
9.hashcode & equals  (0) 2020.07.10
8.Exception 예외와 처리  (0) 2020.07.10