728x90 개발지식3 [JAVA] 자바 예외 계층 구조 완벽 가이드 : Checked와 Unchecked의 결정적 차이 자바 프로그래밍에서 '예외 처리'는 단순히 에러를 막는 기술이 아닙니다. 이는 프로그램의 신뢰성을 결정짓는 설계의 영역입니다. 자바는 모든 예외와 에러를 객체로 취급하며, 이를 체계적인 계층 구조(Hierarchy)로 관리합니다. 이 구조를 정확히 이해해야만 '언제 예외를 던지고(throw)', '어디서 잡을지(catch)'에 대한 전문적인 판단이 가능해집니다.1. 모든 것의 시작: Throwable 클래스자바 예외 계층의 최상위에는 java.lang.Throwable 클래스가 존재합니다. 모든 예외 객체는 이 클래스를 상속받아야 하며, 크게 Error(에러)와 Exception(예외) 두 갈래로 나뉩니다.Error: 시스템 레벨의 심각한 문제입니다. JVM 자체의 결함이나 리소스 부족(OutOfMemo.. 2026. 1. 20. [JAVA] Java List, Set, Map의 주요 차이점 : 상황 별 최적의 선택 가이드 자바(Java)를 활용한 소프트웨어 개발에서 데이터를 어떻게 구조화하고 관리하느냐는 프로그램의 성능과 가독성을 결정짓는 핵심 요소입니다. 자바 컬렉션 프레임워크(Collection Framework)는 개발자가 데이터를 효율적으로 처리할 수 있도록 다양한 인터페이스를 제공하는데, 그중에서도 가장 빈번하게 사용되는 삼총사가 바로 List, Set, Map입니다. 이 세 가지 인터페이스는 겉보기에 비슷해 보일 수 있지만, 내부적인 데이터 처리 방식과 목적은 완전히 다릅니다. 오늘 이 글에서는 단순한 개념 설명을 넘어 실무적인 관점에서 이들의 결정적인 차이점을 심층 분석해 보겠습니다.1. 데이터 관리의 세 가지 철학자바의 컬렉션 구조를 이해하기 위해서는 먼저 각 인터페이스가 지향하는 데이터 관리 철학을 파악해.. 2026. 1. 17. [JAVA] String Pool이란 무엇인가? 메모리 최적화의 핵심 원리 자바 프로그래밍을 하다 보면 가장 많이 접하게 되는 객체가 바로 String입니다. 하지만 우리가 무심코 사용하는 "Hello"라는 문자열 뒤에는 JVM(Java Virtual Machine)의 치밀한 메모리 관리 전략인 String Pool(문자열 풀)이 숨어 있습니다. 자바 성능 최적화의 첫걸음인 String Pool의 모든 것을 심도 있게 파헤쳐 보겠습니다.1. String Pool이란 무엇인가?String Pool은 자바 힙(Heap) 메모리 영역 안에 생성된 특수한 공간으로, 문자열 리터럴을 저장하고 공유하기 위한 캐시 메모리 역할을 합니다. 자바는 불변(Immutable) 객체인 String의 특성을 활용하여, 동일한 내용의 문자열이 반복해서 생성되는 것을 방지함으로써 메모리 사용량을 획기적으.. 2026. 1. 17. 이전 1 다음 728x90