익명클래스, 예외처리,Collection Framework

조수경·2021년 11월 7일
0

고급자바

목록 보기
22/97

익명 클래스

익명(이름이 없다) = 따로 이름을 부여하여 클래스를 작성 않고

인스턴스를 생성(new)하는 부분에 멤버만 작성하는 클래스

->상속을 받아서 작성하는 클래스

  • 1회용 코드를 작성하는 부분

btn.addActionListener(new ActionListener() {...}

익명클래스

객체 지향의 특성

1. 캡슐화

클래스 작성. 접근 제어(정보은닉)

2. 상속

부모 자식 관계 형성 extends

코드를 재사용하면서 추가된 부분만 고려하여 새로운 클래스 작성.

3. 다형성

여러 클래스의 인스턴스를 하나로 관리 및 처리 instanceof

4. 추상화

코드 처리의 규격/규칙을 만드는 작업.

예외 처리(Exception handling)

예외란?

프로그램의 오류(Error)

1) 컴파일 오류

코드를 작성할 때 발생하는 오류(컴파일 안됨)redLine

2) 실행(런타임) 오류

코드 완료 후 실행 시 발생하는 오류 bug

예외 사항 - 예방 코드로 수습 가능한 오류(정상동작후)

예외 처리란?

예방 코드를 미리 작성하여 예외를 넘어가도록 조치하는 것.

비정상적인 프로그램 종료를 막기위함.

예외 처리용 명령어

try - 예외사항이 발생할 여지가 있는 코드를 묶어 놓는 영역.

catch - 발생된 예외사항을 처리하는 영역.

finally - 예외가 발생하던 안하던 실행해야할 코드를 작성하는 영역.
     <생략가능>

catch는..

메소드와 같은 형태를 갖는다. 즉 예외처리 객체를 매개변수로 받는다.

따라서 예외처리 객체에 대한 클래스는 import 해줘야한다.

기본 문법

try{

   //예외 사항 발생이 예상되는 문장들 1

   //예외 사항 발생이 예상되는 문장들 2

}catch (ExceptionClass1 참조변수){

  //예외 조치 문장들...

}catch (ExceptionClass2 참조변수){

}finally{

  //예외가 있건 없건 실행할 문장들
**텍스트**
}

​

두번째 catch 부터 finally는 필요 시만 작성한다.

예외처리 예

메소드내용에 'try catch'가 들어가면은

메소드 제목 끝에 'throws Exception' 안들어간다

Exception 클래스 : 모든 예외 사항 클래스의 부모 클래스.

어떤 예외 사항이던 다 처리할 수 있는 클래스.



그외에 많이 쓰이는 예외사항 클래스

NumberFormatException

숫자로 변환할 수 없는 문자열 입력 시 발생

ex) Html에서 Java로 보낼때는 문자열로 보낸다 .자주발생한다

ArithmeticException

산술연산 시 발생(0으로 나누기 등)

IndexOutofBoundException

배열의 크기 관련 오류

SQLException

DB 연동 관련

ClassnotFoundException

인스턴스 생성에 필요한 클래스가 없을 경우 발생

NullPointException >(어디선가 new를 안썼다.)(코드를 손봐야함)

참조변수에 인스턴스를 넣지않았을 경우(생성하지 않았을 경우)

IOException

입출력 관련 오류

예외 처리방식

  1. 메소드 내에서 예외처리 완료.

메소드 내에서 예외처리 완료.

  1. 예외 처리를 호출한 메소드에게 위임.

예외 처리를 호출한 메소드에게 위임.

불러온 후

e.printStackTrace(); 을 주석 처리하고 출력문구 작성한다.

예외 처리를 호출한 메소드에게 위임.

메소드 선언부에 위임할 예외사항을 명시

예외사항이 여러개일 경우',' 로 구분하여 나열

예외사항 처리를 활용한 메세지 전송

예외사항 객체(인스턴스)를 만들수 있으며

그 때 만든 객체에 메시지를 담을 수 있다

일부러 예외사항 객체를 전달하는 방법도 있음.

일부러 예외사항 객체를 전달하는 명령어 - throw

Exception = ex new Exception("메시지");

throw ex;//메시지를 담은 예외 객체를 전송

throw new Exception("메시지");

예외사항 처리를 활용한 메세지 전송

메소드에서 처리된 결과 값을 얻는 방법

  1. return 값(변수)

  2. 필드를 사용.(공통적으로 사용할수있는 공간)

  3. 예외 객체에 값(문자열)을 담아서 전달.

Collection Framework(CF, 컬렉션 프레임워크)

Collection

여러 객체(데이터)를 모아 놓는 것.

Framework

표준화, 정형화된 프로그래밍 도구(방식) - 라이브러리

Java.util 패키지 소속

핵심 인터페이스

1. List - 순서가 있는 객체의 집합을 정의하기 위한 인터페이스.

 구현된 클래스 : ArrayList, LinkedList, Stack, Vector, Queue

2. Set - 순서가 없이 모아놓은 객체의 집합을 정의하기 위한 인터페이스

"중복된 데이터는 저장 불가"

 구현된 클래스 : HashSet, TreeSet

3. Map - 키(key)와 값(Value)의 쌍으로 구성되는 데이터 집합을 정의하기 위한 인터페이스

"키는 중복값이 허용되지 않으나, 값은 중복을 허용"

 구현된 클래스 : HashMap, TreeMap, HashTable, Properties 등

제네릭스(Generics)

클래스 코드 작성 시 자료형을 지정하지않고, 컴파일 시 자료형을 체크하여 지정하는 기능

장점 : 객체의 타입의 안정성을 높이고, 형 변환의 번거로움을 줄여준다.

profile
신입 개발자 입니다!!!

0개의 댓글

관련 채용 정보