[TIL] 자바 개념 확장

김홍기·2026년 3월 20일

Java 문법

목록 보기
3/9

이해가 잘안되니까 반복 학습 필요!!!

예외(Exception), 예외처리(try-catch)

프로그램이 비정상적으로 종료될 수 있기에 예외 처리는 필수!!

  • 예외 : 프로그램 실행 중 예상하지 못하는 상황
    => 예외 처리하지 않을 경우 프로그램 중단 발생

  • 예외 종류

    • RuntimeException - UncheckedException
      • 런타임 예외를 상속받는 모든 예외!!
      • 예외를 컴파일러가 확인하지 않아 위험!!
        => try-catch 문으로 해결
        => 개발자가 충분히 예측하고 방지할 수 있는 경우 사용
    • Exception - CheckedException
      • 익셉션 클래스를 상속받는 모든 예외
      • 컴파일러가 확인 해줌
        => try-catch 문으로 해결
        => throws 키워드 활용
        (개발자에게 반드시 처리해야하는 예외 알려줌)
   public class ExceptionPractice {

    public void callCheckedException() throws Exception { // ✅ throws 예외를 상위로 전파
        if (true) {
            System.out.println("체크예외 발생");
            throw new Exception();
        }
    }
}

Optional - null 다루는 방법

Optional이란?

Optional은 값이 있을 수도 있고, 없을 수도 있는 상황(null)을 안전하게 다루기 위한 클래스이다.

기존에는 값이 없을 때 null을 사용했는데, 이 경우 값을 확인하지 않고 사용하면 NullPointerException이 발생할 수 있다.

Student student = null;
student.getName(); // 에러 발생

이러한 문제를 해결하기 위해 Optional을 사용한다.

Optional의 핵심 개념

Optional은 값을 바로 사용하는 것이 아니라,
“값이 있는지 확인하고 사용하도록 강제하는 상자”라고 생각하면 된다.

사용 이유

  • null로 인한 에러(NullPointerException) 방지
  • 값이 없을 수 있음을 코드로 명확하게 표현
  • 안전한 코딩 습관 유도

기본 사용 방법

1. Optional 생성

Optional name = Optional.of("홍기"); // 값 있음
Optional empty = Optional.empty(); // 값 없음

2. 값이 있는지 확인

if (name.isPresent()) {
System.out.println("값이 있음");
}

3. 값 꺼내기

String value = name.get(); // 값이 있을 때만 사용
※ 값이 없으면 에러 발생하므로 주의

4. 값이 없을 때 기본값 사용

String value = name.orElse("기본값");
→ 값이 있으면 사용, 없으면 "기본값" 사용

try-catch VS optional

업로드중..

컬렉션(Collection)

제네릭(Generic)

람다(Lamda)

스트림(Stream)

쓰레드(Thread)

profile
개발자 기록용

0개의 댓글