728x90 exceptionHandling9 [JAVA] 던지느냐, 알리느냐! throw와 throws의 명확한 차이와 실무 활용법 자바 언어에서 예외 처리(Exception Handling)를 처음 배울 때 가장 헷갈리는 용어 중 하나가 바로 throw와 throws입니다. 철자 하나 차이밖에 나지 않지만, 이 둘은 예외를 대하는 태도와 문법적 위치에서 극명한 차이를 보입니다. 단순히 시험을 위해 외우는 지식을 넘어, 견고한 애플리케이션 설계를 위해 반드시 마스터해야 할 이 두 키워드의 본질을 심도 있게 파헤쳐 보겠습니다.1. 핵심 정의: 수동적 전파 vs 능동적 발생먼저 두 키워드의 역할을 한 문장으로 정의하자면 다음과 같습니다.throw: 개발자가 직접(능동적으로) 예외 객체를 생성하여 예외를 발생시킬 때 사용합니다.throws: 메서드 선언부에서 호출자에게 "이 메서드는 이러한 예외가 발생할 수 있다"라고 미리 경고(수동적 전.. 2026. 1. 20. [JAVA] 코드의 격을 높이는 자원 관리의 혁신, try-with-resources 완벽 가이드 자바 프로그래밍에서 파일 시스템, 데이터베이스 연결, 네트워크 소켓과 같은 외부 자원(Resource)을 다루는 일은 매우 빈번합니다. 하지만 이러한 자원들은 사용 후 반드시 close()를 통해 닫아주어야 한다는 치명적인 제약이 있습니다. 자원을 제대로 해제하지 않으면 메모리 누수(Memory Leak)와 시스템 성능 저하로 이어지기 때문입니다. 오늘은 자바 7에서 도입되어 현대 자바 코딩의 표준이 된 try-with-resources 문법이 무엇인지, 왜 기존의 finally 방식보다 우월한지, 그리고 실무에서 어떻게 활용해야 하는지 심도 있게 다뤄보겠습니다.1. try-with-resources란 무엇인가?try-with-resources는 java.lang.AutoCloseable 인터페이스를 구.. 2026. 1. 19. [JAVA] 코드의 복병을 찾아라 : RuntimeException의 종류와 예방 전략 자바 개발을 하다 보면 컴파일 시점에는 아무런 문제가 없다가, 실제 프로그램을 실행하는 순간(Runtime) 갑자기 튀어나와 시스템을 중단시키는 예외들을 마주하게 됩니다. 바로 RuntimeException입니다. 이러한 예외들은 'Unchecked Exception'으로 분류되어 컴파일러가 처리를 강제하지 않기 때문에, 개발자의 꼼꼼한 코드 작성과 예방적 설계가 무엇보다 중요합니다. 오늘은 실무에서 가장 빈번하게 마주치는 RuntimeException의 대표적인 종류들을 살펴보고, 이를 우아하게 방어하는 전문적인 전략을 공유해 드립니다.1. RuntimeException이란 무엇인가?자바의 예외 계층 구조에서 RuntimeException은 java.lang.Exception의 하위 클래스입니다. 이 .. 2026. 1. 19. 이전 1 2 다음 728x90