Archive

Java Day 15 패키지,예외

|

Java Day 15 패키지, 예외


  1. 패키지

    • 패키지는 서로 관련 있는 클래스, 인터페이스를 묶는 것으로 일종의 Library이다. * 패키지의 물리적 형태는 파일 시스템의 폴더.
    • 클래스명이 같더라도 패키지명이 다르면 다른 클래스로 인식.
    • 패키지는 모두 소문자로 작성
    • 제일 상단에 package 상위패키지.하위패키지; 으로 선언한다.
    • 다른 패키지의 클래스를 사용 할 때는 import 패키지명.클래스명;으로 불러온다.


  2. 예외

    • 물리적 고장으로 발생하는 Error 이외에 사용자의 잘못된 조작, 개발자의 잘못된 코딩으로 인해 발생하는 Exception을 예외라고 한다.
    • 예외에는 Compile시 체크를 하는 일반 예외와 체크를 하지 않는 Runtime 예외가 있다.
    • Runtime Exception은 Compile에서는 걸리지 않지만 실행시 오류가 발생한다.
    • Runtime 예외에는 NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException 등이 있다.
    • throw : 예외 발생, throws : 예외 전가, try-catch : 예외 처리라고 한다.
    • 예외의 최상위 클래스는 Exception, 에러의 최상위 클래스는 Error.
    • Exception, Error의 상위클래스는 throwable이며 throwable의 상위클래스는 object.


  3. 예외 처리

    • 예외처리는 프로그램의 비정상 종료를 막고 실행상태를 유지하게 해줌.
    • 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("종료"); //예외 상관없이 무조건 실행
    }
    


  4. 예외 발생 & 전가

    • 메소드 내부에서 예외가 발생 할 수 있을때 throws로 예외를 떠넘길 수 있다.
    • throws가 붙은 메소드는 try 블록 내에서 호출되어야 한다.
    public void test() throws Exception {
        throw new Exception(); //예외 발생시키기
    }
    public void test2() {
        try {
            test();
        } catch(Exception e){
            System.out.println("예외 발생");
        }
    }
    




참고 자료


이것이자바다

자바프로그래밍100% 실전가이드

KG아이티뱅크 자바 강의자료