상세 컨텐츠

본문 제목

JAVA 7-2. 참조 타입 : 커맨드 라인 입력 (String[] args 용도)

Backend/JAVA-자바

by 사랑짱 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 발생하지 않는다.

 

※ 메소드 안에 있는 가변인자 안에서 처리되며, 가변인자는 항상 매개 변수의 마지막에 와야한다.

    (왜? 가변인자는 무한으로 받을 수 있기 때문에 어디가 끝인지 모를 수 있기 때문이다.)

 

 

관련글 더보기