![](https://velog.velcdn.com/images/ldh98721/post/b88b0202-ea39-4697-97ba-a51602fb041d/image.jpg)
📕 Exception
1. catch블록을 사용한 복합 에러 처리
- catch블록은 에러가 예상되는 상황에 대한 복수로 명시하는 것이 가능하다.
2. Exception 클래스
- Java에서 예외 상황을 의미하는 모든 클래스들의 최상위 클래스
- 이 클래스의 이름으로 catch 블록을 구성하면, 모든 예외 상황에 일괄적으로
대응할 수는 있지만, catch 블록이 세분화된 경우와는 달리 상황 별 개별적인
처리는 불가능하다.
- Exception 클래스에 대한 예외 처리는 대부분 맨 마지막 catch 블록에 명시하여
'마지막 알 수 없는 에러' 를 의미하도록 구성한다.
} catch(NumberFormatException e){
...
} catch(ArrayIndexOutOfBoundsException e){
...
} catch(Exception e){
...
}
3. 에러 객체'e' 의 기능
- e.getMessage()
: 간략한 에러 메시지를 리턴한다.
: e.getLocaliseMessage()도 같은 기능을 한다.
- e.printStackTrace()
: 실제 예외 상황시에 출력되는 메시지를 강제로 출력
: 개발자가 catch 블록 안에서 예외 상황을 분석하기 위한 용도로 사용한다.
📕 컬렉션 프레임워크
1. Collection Framework란
- 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스들로,
기존 배열형태의 자료 저장에서 좀더 다양한 데이터들을 저장하기 위한 필수
클래스이다.
2. Collection Framework 종류
3. HashMap 클래스
-
데이터에 이름표를 적용하여 저장하기
-
HashMap 클래스는 Map 인터페이스를 상속받는 '자료 보관소' 이기 때문에,
암묵적으로 객체 형변환의 규칙에 따라 Map 형태로 선언하고 HashMap형태로
할당한다.
-
선언과 할당시에 HashMap의 이름표로 사용할 데이터 형과 HashMap에 저장할
데이터형을 클래스의 이름으로 명시해야 하는데, 이를 '제너릭스' 라 한다.
-
제너닉스에 명시할 수 있는 데이터 형은 반드시 클래스 이름이여야 하기 때문에
기본 자료형을 보관할 경우 Wraper클래스의 이름을 사용해야 한다.
Map<String, 저장할 데이터의 클래스 이름> data
= new HashMap<String, 저장할 데이터의 클래스 이름>();
- 기존에 저장된 데이터와 중복되는 이름이 저장될 경우, 기존에 저장된 데이터를
덮어 씌우게 된다.
4. ArrayList의 사용
- ArrayList는 List 인터페이스를 상속받는 클래스로, 데이터를 이름표 없이
무제한으로 보관할 수 있다.
- ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스 번호를
부여 받는ㄴ다.
- 상위 인터페이스 형으로 선언하고 ArrayList 클래스로 객체를 할당하며,
선언과 할당시에는 보관하고자 하는 자료형에 대한 제너릭스를 명시한다.
List<저장할 데이터의 클래스이름> list
= new ArrayList<저장할 데이터의 클래스이름>();