posted by changhozz 2012. 7. 3. 16:13

Wrapper Class -
 
primitive type은 Class는 기본적으로 java.lang.*; 의 하위클래스이다.
 
Wrapper Class를 쓰는 이유는 primitive Type의 변수를 객체화 할 때 쓰인다.
8개의 primitive Type에 맞는 Class들을 Wrapper Class라고 통칭
 
Primitive type의 값을 Wrapper Class로 만드는 것을 Boxing이라 한다.
Wrapper Class Object를 primitive type값으로 만드는 것을 Unboxing이라한다.
 
Wrapper Class가 쓰여야 할 자리에 Primitive Type의 값이 사용되면,
자동적으로 boxing을 해주는데, 이를 Auto Boxing이라 한다.
 
Primitive Type의 값이 쓰여야 할 자리에 Wrapper Object를 사용하면
자동적으로 unboxing을 해주는데, 이를 Auto Unboxing이라 한다.
 
--------------------------------------------------------------------------------

Exception -
 

 
Exception - program실행 시 컴퓨터가 예상치 못해 발생한 오류/예외
 
Exception은 -> Throwable -> Object를 상속받는다.
 
일반적인 예외(Checked Exception) - compile시 발생하는 예외이다.
                                   반드시 예외처리를 해야만 한다.
 실행시 예외(Unchecked Exception) -프로그램이 실행되다가 발생하는 예외이다.
                                   예외처리를 하지 않아도 컴파일에는 무리가 없다.
 
Exception 처리 구조 - Try~catch()~finally
 
catch문 사용시 하위 예외객체일수록 위로, 상위 예외객체일수록 밑으로
정의해 줘야한다.
일반적으로 예외에서 가장 상위인 클래스가 Exception이다.
그러므로 가장 아래쪽에 정의 해야 한다. 이렇게 하는 이유는
예외는 상위 클래스가 모든 예외를 가지고 있으므로 가장 위에 정의를
하게 되면 모든 예외를 처리하게 되므로 두번째 catch문 부터는
절대로 비교 수행할 수 없게 된다.


하나의 메서드 내에 여러 개의 try-catch문이 사용될 수 있으며, try블럭 또는 catch블럭에
또 다른 try-catch문이 포함될 수 있다.
catch블럭의 괄호 내에 선언된 변수는 catch블러 내에서만 유효하기 때문에,
모든 catch블럭에 참조변수 'e'하나 만을 사용해도 된다.
하지만, catch블럭 내에 또 하나의 try-cath문이 포함된 경우, 같은 이름의 참조변수를
사용해서는 안된다.

즉 catch블럭의 괄호 내에 선언된 변수는 catch블럭 내에서만 유효하기 때문에,
catch문안에 try-catch문은 서로 참조변수 이름이 달라야한다.


메서드에 예외 선언하기

메서드에 예외를 선언하려면, 메서드의 선언부에 키워드 throws를 사용해서 메서드 내에서
발생할 수 있는 예외를 적어주기만 하면 된다. 그리고,예외가 여러 개일 경우에는
쉼표(,)로 구분한다.
ex)
void method() throws Exception1, Exception2, Exception3  ......{
//메서드 내용
}