[java] 자바 런타임 에러와 널 포인터 예외 처리

자바 프로그램에서는 런타임 에러가 발생할 수 있고, 그 중 가장 흔한 것은 널 포인터 예외(NullPointerException)입니다. 이 에러는 변수가 null 값을 참조할 때 발생하는데, 이를 효과적으로 처리하는 방법을 알아봅시다.

1. 널 포인터 예외란?

널 포인터 예외는 메서드나 속성을 참조할 때 해당 변수가 null 값을 가지고 있어서 발생하는 예외입니다. 즉, 존재하지 않는 객체나 배열 등을 참조하려고 할 때 발생합니다.

2. 예외 처리 방법

2.1. null 체크

가장 기본적인 방법은 변수가 null인지 먼저 체크하는 것입니다. if문을 사용하여 변수가 null일 때 예외 상황을 처리할 수 있습니다.

if (object != null) {
    // object 사용
} else {
    // null에 대한 예외 처리
}

2.2. Optional 클래스 활용

자바 8부터는 Optional 클래스를 활용하여 널 포인터 예외를 방지할 수 있습니다. Optional을 이용하면 명시적으로 변수가 null인지 체크할 필요가 없어집니다.

Optional<String> optString = Optional.ofNullable(string);
optString.ifPresent(s -> System.out.println(s.length()));

2.3. try-catch 블록 활용

일반적으로 예외를 처리하기 위해 try-catch 블록을 활용할 수 있습니다. 널 포인터 예외가 발생할 수 있는 부분을 try 블록 안에 넣고, catch 블록에서 해당 예외를 처리합니다.

try {
    // 널 포인터 예외가 발생할 수 있는 코드
} catch (NullPointerException e) {
    // 예외 처리
}

3. 마치며

프로그램에서 널 포인터 예외를 효과적으로 처리하는 것은 안정성과 신뢰성을 높이는 데 도움이 됩니다. 이러한 예외 상황을 미리 예방하고 적절히 처리하는 것은 더 나은 프로그래밍 경험을 제공합니다.

참고 문헌: Java NullPointerException Handling