본문 바로가기
SSAFY/Daily

20220125 JAVA 예외처리

by Hunveloper 2022. 2. 4.
728x90

에러와 예외

   어떤 원인에 의해 오동작하거나 비정상적으로 종료되는 경우

     Error : 프로그램의 비 정상적 종료를 막을 수 없음 → 디버깅필요

     Exception : 프로그램 코드에 의해 수습될 수 있는 상황

   try ~ catch 구문

     try 밑에 예외가 발생할 수 있는 코드

     catch 밑에 예외가 발생했을때 처리할 코드

   JVM이 해당 Exception 클래스의 객체 생성 후 던짐(throw)

     적절한 try-catch 구문을 만들어 예외 처리가 완성되야함

   다중 exception handling

     try 블록에서 여러 종류의 예외가 발생할 경우

     하나의 try 블록에 여러 개의 catch 블록 추가 가능!!

   Checked exception : 대처 코드가 없으면 컴파일 하지 않음

   finally : 예외 발생 여부와 상관 없이 언제나 실행

   e.printStackTrace( )를 이용하여 예외를 찾는다.

 

   throws : method에서 처리해야 할 하나 이상의 예외를 호출한 곳으로 전달

     예외가 없어지는 것이 아니라 단순히 전달됨

     예외를 전달받은 메서드는 다시 예외 처리의 책임 발생

   

   Collection Framework

     List : 순서가 있는 데이터의 집합, 순서가 있기에 데이터의 중복을 허락

     Set : 순서를 유지하지 않는 데이터의 집합, 중복 허락 하지 않음

     Map : Key와 value의 쌍으로 데이러틑 관리, 순서는 없고 key의 중복 불가, value는 중복 가능

     

     배열과 ArrayList

       장점 : 가장 기본적인 형태의 자료구조, 접근 속도가 빠름

       단점 : 크기를 변경할 수 없어 추가 데이터를 위해 새로운 배열을 만들고 복사해야함

         비 순차적 데이터의 추가, 삭제에 많은 시간이 걸림

       LinkedList : 각 요소를 Node로 정의하고 Node는 다음 요소의 참조 값과 데이터로 구성

       데이터 값 삭제시 index 변경이 생기므로 뒤에서 부터 삭제하는 것이 좋음

       for each는 read only임, 삭제 불가능!

     Set

       hashCode와 equals를 같이 재정의 해야지 동일한 값인지 판단 가능

     Map

       key와 value를 하나의 Entry로 묶어서 데이터 관리

     Comparator

       객체가 Comparable을 구현하지 않거나, 사용자 정의 알고리즘으로 정렬하는 경우   

728x90
728x90

'SSAFY > Daily' 카테고리의 다른 글

20220127 JAVA 공공데이터 XML SWING  (0) 2022.02.04
20220126 JAVA I/O & Stream  (0) 2022.02.04
20220124 JAVA 추상클래스  (0) 2022.02.04
20220120 JAVA 생성자 및 상속  (0) 2022.01.20
20220118 JAVA 객체지향 프로그래밍  (0) 2022.01.18

댓글