본문 바로가기

Java/공부공부

[자바기초] 메인메소드 String[] args 에 대해서

자바 메인메소드 기본 형태

public static void main(String[] args

 

* main 메소드

Java 프로그램이 실행되는 지점(entry point).

프로그램이 시작될 때 가장 먼저 호출되는 메소드이며, 이 메소드를 통해 프로그램이 실행

 

* String[] args 

메소드의 매개변수(parameter)로서, 문자열 배열.

프로그램이 실행될 때 커맨드 라인에서 전달되는 추가적인 인수들이 이 배열에 저장.

 

 

* 이렇게 설계된 이유?

 - String[] args를 통해 배열 형태로 인수를 받으면, 사용자가 원하는 만큼의 인수를 전달할 수 있기 때문.

 - 문자열 배열로 정의되어 있기 때문에, 어떤 타입의 인수라도 문자열로 변환할 수 있음. 

 - 많은 프로그래밍 언어에서 커맨드 라인에서 실행되는 프로그램은 특정 매개변수로 인수를 받는 관행이 있음.

    Java가 이 관행을 따르면서 main 메소드의 시그니처를 정의한 것.


 

* 커맨드 라인 인수 (Command Line Arguments)

프로그램이 실행될 때 사용자가 프로그램에게 전달하는 인수들을 의미.

명령 프롬프트나 터미널에서 지정 가능.

 

 

* 커맨드 라인 (Command Line)

컴퓨터 사용자가 텍스트 명령을 입력하여 컴퓨터와 상호작용하는 환경을 말함.

일반적으로 터미널(또는 명령 프롬프트, 콘솔)이라고 불림.

 

[ 커맨드 라인 명령어 예시 ]

  • ls (리눅스/유닉스): 현재 디렉토리의 파일 목록 표시
  • dir (Windows): 현재 디렉토리의 파일 목록 표시
  • cd (모든 운영체제): 디렉토리 변경
  • mkdir (모든 운영체제): 디렉토리 생성
  • java (모든 운영체제): Java 프로그램 실행

 

Java를 커맨드 라인에서 실행할 때, 'Java' 명령어를 통해 Java 가상머신(JVM)을 시작하고,

그뒤에는 프로그램 이름과 필요한 인수들을 입력할 수 있다.

이 때 'String[] args' 매개변수는 프로그램에 전달되는 인수를 받아들이기 위한 것.

 

ex)  ' java YourProgram argument1 argument2 '

위의 명령어로 프로그램을 실행하는 경우, 

String[] args 배열에는 {"argument1", "argument2"}와 같은 형태로 커맨드 라인 인수가 저장된다.

 


이클립스의 경우 (수업시간에 했었는데 어디있더라..다시 찾아보기*)

 

 

 

체크부분에 직접 작성해서 매개변수 배열값들을 설정할 수 있다.