자바 프로그래밍 package com.ex;
package com.ex;
1. 에러 설명
에러 메시지:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at com.ex.DD.main(DD.java:6)
이 에러는 배열 인덱스 범위를 벗어난 경우(ArrayIndexOutOfBoundsException) 발생하는 에러입니다.
(1) args[0]에서 문제가 발생한 이유
args는 main 메서드의 매개변수로 전달되는 명령행 인수(command-line arguments) 입니다.
그런데 실행할 때 아무런 인수를 전달하지 않으면 args는 빈 배열 (length == 0) 이 됩니다.
그러면 args[0]을 참조할 때, 배열에 요소가 없기 때문에 배열 범위를 벗어난 접근 (Index 0 out of bounds for length 0)이 발생합니다.
(2) Index 0 out of bounds for length 0의 의미
Index 0 → args[0]을 참조하려 했지만,
length 0 → args 배열의 크기가 0이므로,
out of bounds → 배열의 범위를 벗어난 인덱스 접근이므로 예외(Exception) 발생.
2. 해결 방법
에러를 방지하려면 두 가지 방법이 있습니다.
방법 1: 명령행 인수를 추가해서 실행하기
현재 프로그램은 실행할 때 인수를 전달해야 정상적으로 동작합니다.
(1) 터미널에서 실행 (CLI 환경)
만약 터미널에서 실행하는 경우, 인수를 전달해야 합니다.