JAVA catch블록, 컬렉션 프레임워크

김태헌·2022년 9월 18일
post-thumbnail

1. catch블록을 사용한 복합 에러 처리

  • catch블록은 에러가 예상되는 상황에 대해 복수로 명시하는 것이 가능하다.

1-1. Exception Class

  • Java에서 예외 상황을 의미하는 모든 클래스들의 최상위 클래스

  • 이 클래스의 이름으로 catch 블록을 구성하면,
    모든 예외 상황에 일괄적으로 대응할 수는 있지만, catch블록이 세분화 된 경우와는
    달리 상황 별 개별적인 처리는 불가능하다.

  • Exception 클래스에 대한 예외처리는 대부분 맨 마지막 catch 블록에 명시하여
    '마지막 알 수 없는 에러'를 의미하도록 구성한다.

    	try{
    		...
    	} catch( NumberFormatException e ){
    		...
    	} catch( ArrayIndexOutOfException e ){
    		.. 
    	} catch( Exception e ){
    		..
    	}
  • 자바 1.8 버전 지원

    try{
    ...
    } catch( NumberFormatException | ArrayIndexOutOfException e ){
    ...
    } catch( Exception e ){
    ..
    }

1-2. 애러 객체 'e'의 기능

  • e.getMessage()
    -> 간략한 에러 메시지를 리턴한다.
    -> e.getLocaliseMessage()도 같은 기능을 한다.
  • e.printStackTrace()
    -> 실제 예외 상황시에 출력되는 메시지를 강제로 출력한다.
    -> 개발자가 catch 블록 안에서 예외 상황을 분석하기 위한 용도로 사용한다.

2. 컬렉션 프레임워크(Collection Framework)소개

2-1. Collection Framework란

  • 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스들고,
    기존 배열형태의 자료 저장에서 좀 더 다양한 데이터들을 저장하기 위한 필수 클래스이다

2-2. Collection Framework의 종류

2-3. 데이터에 이름표를 적용하여 저장하기

  • HashMap 클래스는 Map인터페이스를 상속받는 '자료보관소'이기 때문에,
    암묵적 객체 형변환 규칙에 따라 Map형태로 선언하고 HashMap 형태로 할당한다.

  • 선언과 할당시에 HashMap의 이름표로 사용할 데이터형(String)과
    HashMap에 저장할 데이터형을 클래스의 이름으로 명시해야 하는데,
    이를 '제너릭스'라 한다.

  • 제너릭스에 명시할 수 있는 데이터형은 반드시 클래스 이름이여야 하기 때문에
    기본 자료형을 보관할 경우 Wrapper클래스의 이름을 사용한다.

    	Map<String, 저장할 데이터의 클래스이름> data
    		= new HashMap<String, 저장할 데이터의 클래스이름>();
  • 기존에 저장된 데이터와 중복되는 이름이 저장될 경우, 기존에 저장된 데이터를
    덮어 씌우게 된다.

2-4. ArrayList의 사용

  • ArrayList는 List인터페이스를 상속받는 클래스로, 데이터를 이름표 없이 무제한으로
    보관할 수 있다.

  • ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스 변호를 부여 받는다.

  • 상위 인터페이스형으로 선언하고 ArrayList클래스로 객체를 할당하며,
    선언과 할당시에는 보관하고자 하는 자료형에 대한 제너릭스를 명시한다.

    	List<저장할 데이터의 클래스이름> list
    		= new ArrayList<저장할 데이터의 클래스이름>();
profile
개발자 과정 국비 수료 중

0개의 댓글