본문 바로가기
Programming/JAVA(eclipse)

java 13 일차 _ 12일차 정리

by yoon9i 2024. 3. 26.

1. 예외처리
  1)예외발생된 경우 상황? 비정상종료
  2)예외처리? 비정상종료--> 정상종료.
            예외의 원인인 코드수정은 불가.
  3)방법?
    - 예외클래스 계층구조
               
       Object
          |
       Throwable
          |
      Exception (예외클래스 최상위 간주)
        |
   RuntimeExcetion                    IOException,SQLException
   (런타임계열, 컴파일 unchecked계열)       ( 비런타임계열, 컴파일 checked 계열)
    |                                      |
   NullPointerException                FileNotFoundException
   ArithmeticException
   ArrayIndexOutofBoundsException
   ..
  => try~cacth 또는 throws 인          ==> 무조건 try~cacth 또는 throws 해야된다.(*****)
    예외처리로 문제 해결 안함.                 if 문으로 해결불가.
    if문 해결함.

   - 발생된 곳에서 처리
       try{
          실행문;
  실행문;
       }catch(예외클래스 e){
         예외처리 코드
       }catch(예외클래스 e){
         예외처리 코드
       }finally{
         반드시 실행되는 코드
       }

   - 위임처리 (************)
     메서드 호출한 곳으로 위임하는 방식으로 main메서드까지 위임하고 마지막으로  main에서 try~catch로 처리한다.
     throws 예외클래스, 예외클래스{}

  4) 명시적으로 예외 발생시키는 방법

    if(조건식)throw new 예외클래스(메시지); // 메시지값은 e.getMessage()로 얻음.

  5) 명시적으로 예외 발생시킬때 사용하는 예외클래스를 사용자가 직접 만들어야 된다. ( 사용자 정의 예외클래스)

     public class MyException extends Exception{
         public MyException(String mesg){
             super(mesg);
 }
     }

2. 제네릭스(generics)

  1) 표현식
    <T>
    <E>
    <K,V>
    <T,R>

  2) 특징
     - 관리하는 데이터의 타입을 명시적으로 지정한 타입으로 제한하는 방법
  3) 장점 2가지
     - 컴파일시에 잘못된 데이터가 저장된것을 확인이 가능하다.
     - 형변환 불필요

  4) 주요용도
    - 컬렉션 API
    - 함수형 인터페이스 및 stream API