반응형
이번 글에는 예외(Exception)의 개념을 처음 접하며,
가장 흔하게 발생하는 예외 중 하나인 NullPointerException을 직접 경험해봅니다.
문자열의 길이를 출력하는 간단한 메서드를 만들고,
그 안에서 null 값을 전달했을 때 어떤 일이 일어나는지 확인해보겠습니다.
📌 예제 코드
public class ExceptionHandlingExample1 {
public static void printLength(String data) {
int re = data.length();
System.out.println("문자 수 : " + re);
}
public static void main(String[] args) {
System.out.println("[프로그램 시작\n");
printLength("ThisIsJava");
printLength(null);
System.out.println("[프로그램 종료");
}
}
💻 실행 결과
[프로그램 시작
문자 수 : 10
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "data" is null
at ch11.sec02.exam01.ExceptionHandlingExample1.printLength(ExceptionHandlingExample1.java:5)
at ch11.sec02.exam01.ExceptionHandlingExample1.main(ExceptionHandlingExample1.java:11)
💬 코드 설명
- printLength(String data)는 전달된 문자열의 길이를 출력합니다.
- "ThisIsJava"는 길이가 10이므로 정상적으로 출력됩니다.
- 하지만 null이 전달되면 data.length()를 호출하는 순간 NullPointerException이 발생합니다.
- 이로 인해 프로그램은 중단되고, printLength(null); 이후의 코드는 실행되지 않습니다.
- 콘솔에는 예외가 발생한 라인 번호와 함께 스택 트레이스가 출력됩니다.
💡 포인트 정리
- null을 참조하여 메서드나 필드에 접근하면 NullPointerException이 발생합니다.
- 자바는 런타임 중 예외가 발생하면 프로그램을 즉시 종료하기 때문에, 적절한 예외 처리가 필요합니다.
- 이 예제는 예외 처리 전의 상태를 보여주며, 다음 강의에서 이를 try-catch문으로 처리하는 방법을 배울 예정입니다.
📌 정리하자면, 예외(Exception)는 프로그램 실행 중 정상적이지 않은 상황이 발생했을 때 나타나는 문제입니다.
그중 NullPointerException은 가장 흔하며, 참조 변수에 null이 들어있는 경우 조심해야 합니다.
'Java > 자바 정리' 카테고리의 다른 글
95. 배열 범위도, 숫자 형식도 조심하자 – 예외 두 개를 잡는 try-catch (0) | 2025.05.13 |
---|---|
94. 클래스를 찾을 수 없다면? ClassNotFoundException을 잡아보자 (0) | 2025.05.13 |
93. try-catch로 예외를 안전하게 처리해보자 (0) | 2025.05.13 |
91. 람다식으로 두 동작 처리하기 – 인터페이스를 분리해서 해결하자! (0) | 2025.05.12 |
90. 인터페이스 기반 익명 구현 객체 – 직접 클래스 만들지 않아도 OK (0) | 2025.05.12 |
89. 익명 구현 객체 – 한 번만 쓰고 버리는 1회용 클래스 만들기 (0) | 2025.05.12 |