Java Day 15 패키지,예외
21 Dec 2020 | JavaJava Day 15 패키지, 예외
-
패키지
- 패키지는 서로 관련 있는 클래스, 인터페이스를 묶는 것으로 일종의 Library이다. * 패키지의 물리적 형태는 파일 시스템의 폴더.
- 클래스명이 같더라도 패키지명이 다르면 다른 클래스로 인식.
- 패키지는 모두 소문자로 작성
- 제일 상단에 package 상위패키지.하위패키지; 으로 선언한다.
- 다른 패키지의 클래스를 사용 할 때는 import 패키지명.클래스명;으로 불러온다.
-
예외
- 물리적 고장으로 발생하는 Error 이외에 사용자의 잘못된 조작, 개발자의 잘못된 코딩으로 인해 발생하는 Exception을 예외라고 한다.
- 예외에는 Compile시 체크를 하는 일반 예외와 체크를 하지 않는 Runtime 예외가 있다.
- Runtime Exception은 Compile에서는 걸리지 않지만 실행시 오류가 발생한다.
- Runtime 예외에는 NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException 등이 있다.
- throw : 예외 발생, throws : 예외 전가, try-catch : 예외 처리라고 한다.
- 예외의 최상위 클래스는 Exception, 에러의 최상위 클래스는 Error.
- Exception, Error의 상위클래스는 throwable이며 throwable의 상위클래스는 object.
-
예외 처리
- 예외처리는 프로그램의 비정상 종료를 막고 실행상태를 유지하게 해줌.
- try-catch문의 catch 블록은 개수제한이 없지만 위쪽에 하위클래스, 아래쪽에 상위클래스가 와야한다.
/* * try 블록 : 예외가 발생가능한 코드 * catch 블록 : 예외 발생시 처리할 코드, 복수기입 가능 * finally 블록 : 예외가 있든 없든 무조건 실행 */ try { System.out.println(0/0); // 예외 발생 } catch (ArithmeticExcepiton ae){ System.out.println("Arithmetic 예외"); } catch (Exception e){ System.out.println("예외 발생"); //실행되지 않는다 } finally (){ System.out.println("종료"); //예외 상관없이 무조건 실행 }
-
예외 발생 & 전가
- 메소드 내부에서 예외가 발생 할 수 있을때 throws로 예외를 떠넘길 수 있다.
- throws가 붙은 메소드는 try 블록 내에서 호출되어야 한다.
public void test() throws Exception { throw new Exception(); //예외 발생시키기 } public void test2() { try { test(); } catch(Exception e){ System.out.println("예외 발생"); } }
참고 자료
KG아이티뱅크 자바 강의자료