예외는 두 가지 종류 :

일반 예외, exception 그리고 실행 예외 runtime exception

 

예외 처리 코드란 : 프로그램에서 예외가 발생 하였을 때 갑작스러운 종료를 막기위해 처리하는 코드.

 

NullPointerException = 객체 참조가 없을때!

ArrayIndexOutOfBoundsException = 배열에서 인덱스 범위를 초과했을때

NumberFormatException = 문자열인데 숫자로 변경했을때

ClassCastException = 안맞는 타입 변환(casting)을 했을 경우. Instanceof 활용 ok

 

모든 예외 객체는 exception를 상속하기 때문에 exception에 있는 getMessage 그리고 printStackTrace를 많이 사용한다

getMessage는 오류 메시지를 얻고,

printStackTrace는 오류의 경로를 추적할 때 사용한다

 

throw는 강제로 예외를 발생하는 것

throws는 예외의 책임을 다른데에 전달하는 것

 

java.lang안에 있는 클래스는 import할 필요가 없다

object는 자바의 최상위 부모 클래스

 

object equals의 원리는 모든 객체는 object를 상속받아서 비교할 때 자동으로 object타입으로 형변환이된다.

 

객체 해시코드란 객체를 식별할 하나의 정수값을 말한다.

 

System은 다 정적으로 이루어져있다

 

String은 내부 문자열을 수정할 수 없다, 그래서 수정을 할 때 마다 새로운 객체를 생성하는것이며, 메모리에 과부화, 즉 성능 저하가 될 요인이 될 수 있다.

그래서 stringbuilder 그리고 stringbuffer를 사용하는 것이 바람직하다.

Stringbuilder stringbuffer의 큰 차이점은 stringbuffer multi-thread 환경에서 사용할 수 있도록 동기화가 되었있다.

 

Calendar은 추상 클래스여서 정적인 getInstance를 통해 생성이가능하다. 그 이유는 각 지역마다 사용하는 시간법이 달라서, 만약 한국인데 la시간을 사용하고 싶다면 TimeZone를 사용하며 된다. TimeZone.getAvailableIDs();를 사용하면 가능한 timezone들이 보인다.

 

MessageFormat.format(문자열, 해당 value);

'ETC' 카테고리의 다른 글

이것이 자바다 노트3(제너릭)  (1) 2019.12.14
이것이 자바다 노트2(스레드 + 멀티스레드)  (0) 2019.12.14
Garbage Collector  (0) 2019.12.01
Comparable vs Comparator  (0) 2019.12.01
Algorithm time complexity  (2) 2019.12.01

+ Recent posts