String[] args
는 자바의 메인 메서드에서 사용되는 배열로, 프로그램 실행 시 명령행 인수(명령어 옵션)를 저장하는 역할을 한다.
public static void main(String[] args)
여기서 args
는 문자열(String) 배열이며, 프로그램을 실행할 때 전달된 명령어 옵션들이 자동으로 이 배열에 담기게 된다. 즉, 자바 프로그램을 실행할 때 외부에서 입력된 데이터를 여러 개의 문자열 요소로 담아주는 그릇 역할을 한다.
✔️ 배열의 기본 상태
아무런 명령행 인수가 없으면, args
배열은 빈 배열로 초기화 된다. (String[] args = { };
와 같은 상태)
✔️명령행 인수를 사용하는 방법
args
배열에 값을 미리 저장해 두면, 메인 메서드 안에서 그 값을 이용해 프로그램의 로직을 구현할 수 있다.
java MyClass arg1 arg2
라고 실행하면 args[0] = "arg1"
, args[1] = "arg2"
가 된다.✔️ 명령행 인수를 활용한 실행
개발자는 .class
파일을 실행할 때 명령어와 함께 값을 입력해 args
배열에 데이터를 전달할 수 있다.
java MyClass hello world
라고 입력하면 args
배열은 {"hello", "world"}
로 채워진다.args.length
는 0이 되고, 전달된 인수만큼 배열의 크기가 결정된다.Integer.parseInt(args[0])
와 같이 변환해야 한다.public class ArrayEx14 {
public static void main(String[] args) {
// 암기
// String의 형변환
// String -> int : Integer.parseInt()
// String -> double : Double.parseDouble()
String str1 = "1";
String str2 = "2";
// 문자열 연결 연산자
System.out.println( str1 + str2 );
// 산술 연산
System.out.println( Integer.parseInt(str1) + Integer.parseInt(str2));
// 아규먼트 - 싫행시 1 2 를 던지면
System.out.println( args[0] + args[1] ); // 12
System.out.println( Integer.parseInt(args[0]) + Integer.parseInt(args[1])); //3
}
}
String[] args
는 배열로서 프로그램 실행 시 명령행에서 입력된 값을 담아둔다.- 인수의 개수만큼 배열의 크기가 결정되며, 각 인수는 문자열로 저장된다.
- 사용자는 명령어를 통해 자바 프로그램에 데이터를 전달할 수 있고, 프로그램 내부에서 이 데이터를 활용할 수 있다.