Backend/JAVA-자바
JAVA 7-2. 참조 타입 : 커맨드 라인 입력 (String[] args 용도)
사랑짱
2021. 6. 8. 10:55
◆ Command Line 입력이란?
자바 프로그램을 실행할 때 커맨드 라인(args[ ] 배열)에 인수를 넣어주는 것을 의미한다.
프로그램이 작동 시 다양한 값을 넣어 어떻게 반응하는지 테스트 할 때 편리하게 사용된다.
※ 프로그램이 실행되면 JVM은 길이가 0인 String 배열을 먼저 생성하고
main( ) 메소드를 호출할 때 매개값(인자)으로 전달한다.
※ main( )메소드가 실행되면 args배열은 무조건 생성되기 때문에
외부값을 전달하지 않아도 비어있는 배열로 생성되며,
NullPointException이 발생하지 않는다!!!
(만약 예외가 발생하면 모든 실행클래스가 실행되지 않고 에러가 날 것!!)
◆ Command Line 입력하려면?
커맨드 라인 입력하는 과정은 다음과 같다.
1) 상단 [Run]메뉴 - [Run Configurations]로 들어간다.
2) main탭에서 해당 소스 파일의 위치와 class 이름을 확인한다.
3) Arguments탭에서 Program arguments에 원하는 커맨드 라인을 입력한다.
4) 출력문을 작성하여 이클립스 콘솔 창에서 테스트 결과를 확인할 수 있다.
◆ String[] args의 용도
String[] args를 통해 커맨드 라인에서 입력된 데이터의 수(배열의 길이),
입력된 데이터(배열의 항목 값)을 알 수 있다.
◆ 가변인자
- 메소드 선언 시 매개 변수가 0개 이상의 전달인자를 받아야하는 경우 선언할 수 있다.
(다시 말해, 매개 변수의 개수가 정해지지 않은 경우 사용한다.)
- 가변인자는 배열과 동일하지만 배열의 형태가 없어도 전달된다.
(가변인자에 값을 넣을 때에는 쉼표를 찍고 나열만 하면 된다!)
- 가변인자는 값을 주지 않으면 비어있는 배열이 생성된다.
따라서, 배열의 개수가 0개여도 NullPointException 발생하지 않는다.
※ 메소드 안에 있는 가변인자 안에서 처리되며, 가변인자는 항상 매개 변수의 마지막에 와야한다.
(왜? 가변인자는 무한으로 받을 수 있기 때문에 어디가 끝인지 모를 수 있기 때문이다.)