728x90 CheckedException3 [JAVA] Checked Exception과 Unchecked Exception의 전략적 선택 기준 자바 프로그래밍에서 예외 처리(Exception Handling)는 단순히 에러를 막는 수단이 아닙니다. 이는 시스템의 복구 가능성(Recoverability)과 코드의 가독성, 그리고 API의 설계 철학을 결정짓는 핵심적인 요소입니다. 많은 개발자들이 Checked Exception과 Unchecked Exception의 기술적 차이는 알고 있지만, "언제 무엇을 사용해야 하는가?"라는 설계적 고민 앞에서는 흔들리곤 합니다. 본 포스팅에서는 실무적인 관점에서 두 예외의 본질을 파헤치고, 최신 자바 트렌드에 맞는 전략적 선택 기준을 제시합니다.1. 예외의 계층 구조와 본질적 차이자바의 모든 예외는 java.lang.Throwable 클래스를 상속받습니다. 여기서 핵심은 RuntimeException의 상.. 2026. 1. 26. [JAVA] 자바 예외 계층 구조 완벽 가이드 : Checked와 Unchecked의 결정적 차이 자바 프로그래밍에서 '예외 처리'는 단순히 에러를 막는 기술이 아닙니다. 이는 프로그램의 신뢰성을 결정짓는 설계의 영역입니다. 자바는 모든 예외와 에러를 객체로 취급하며, 이를 체계적인 계층 구조(Hierarchy)로 관리합니다. 이 구조를 정확히 이해해야만 '언제 예외를 던지고(throw)', '어디서 잡을지(catch)'에 대한 전문적인 판단이 가능해집니다.1. 모든 것의 시작: Throwable 클래스자바 예외 계층의 최상위에는 java.lang.Throwable 클래스가 존재합니다. 모든 예외 객체는 이 클래스를 상속받아야 하며, 크게 Error(에러)와 Exception(예외) 두 갈래로 나뉩니다.Error: 시스템 레벨의 심각한 문제입니다. JVM 자체의 결함이나 리소스 부족(OutOfMemo.. 2026. 1. 20. [JAVA] 개발자의 숙명, Checked vs Unchecked Exception 깊이 파헤치기 자바에서 예외(Exception)는 프로그램의 비정상적인 흐름을 제어하기 위한 강력한 메커니즘입니다. 하지만 자바의 예외는 단순히 하나로 분류되는 것이 아니라, 컴파일 시점의 강제성 여부에 따라 Checked Exception(체크 예외)과 Unchecked Exception(언체크 예외 또는 런타임 예외)으로 나뉩니다. 이 두 가지 예외의 차이를 명확히 이해하는 것은 견고하고 유지보수하기 쉬운 자바 애플리케이션을 개발하는 데 필수적입니다. 오늘은 이 두 가지 예외가 왜 존재하며, 각각 언제 사용해야 하는지, 그리고 실무에서 이들을 어떻게 현명하게 다뤄야 하는지 전문적인 시각으로 분석해 보겠습니다.1. 예외(Exception)의 두 얼굴: Checked와 Unchecked자바의 모든 예외는 java.la.. 2026. 1. 20. 이전 1 다음 728x90