+NullPointException
예외 1, 2를 모두 처리하고 싶다면 catch 구문도 or로 연결해야 한다. 아니면 1만 처리하고 2는 지나친다.
예외의 우선순위를 어떻게 정하는가도 중요하다.
printStackTrace( )가 어디서 예외가 발생했는지까지 알려주는, 제일 자세한 예외 알림 메서드.
try 구문에서 예외 발생하는 순간, catch문으로 넘어가므로 try구문 내의 예외가 발생한 코드 아래에 있는 코드들은 모두 실행되지 않는다.
-예외처리의 매개변수는 e 약속!
- 1
:interruptedException만 일반 예외, 나머지는 실행 예외이다.
- 3
- o
- 예외
- 일반 예외, 검사형 예외
: 반드시 처리해야 하는 예외
※chap9
여러개의 자료형을 담은 객체를 생성할 수 있다.
: 코드의 중복성을 막는다.
타입에 상관없이 똑같은 메서드 기능을 사용하고 싶을 때 제네릭 사용한다.
제네릭 타입에는 참조형 자료만 넣을 수 있다.
기본 자료int 넣고싶다면 -> Integer 넣어야 한다.
-상속 관계
- ㅇ
- x
: 참조 타입만
- o
- <T> extends Comparable
- 2
: 예외에는 검사형과 런타임 두종류가 있고, 런타임의 자식 예외로 비검사형(실행) 예외가 있다.
- Exception 제일 마지막에
:모든 예외의 부모이므로.
- x
:number에 integer, double등이 속하기는 하지만 위 문제는 개별 클래스이므로 x
- ① T[ ] , ② T temp = array[a]
int a = 3;
int b = 5;
int tmp = a; //임시 변수 선언
a = b;
b = tmp;
- ㅇ
- 4
:② 컴파일 에러->런타임 에러보다 안전하다
③ 아무 타입이나 다 받으므로 굳이 형변환 x
7."클래스를 찾을 수 없다."
"어이쿠!"
: class.forName(~) : class 내에 ~이름을 가진 클래스를 찾아달라
- "안녕!"
: return 만나면 그 뒤의 기능은 실행하지 x
- Integer
: ArrayList는 원래 제네릭 타입을 쓰고있다.
< > 있잖아..
- ① < T > T , ② T [ ] a
: < T > 제네릭 타입 쓰겠다 선언. T는 반환타입
: return a.[ ] -> T타입 배열 a