자바를 처음 접하게 되면 C언어 에서 int main(void) 와 같이 처음에 아무 의미도 모르고 자동으로 메인 함수에 쓰게 되는 것이 있다.
public static void main(String[]args)
public 과 static 의 의미는 조금 공부하게 되면 금방 배우지만 String[]args 또는 String args[] 의 의미는 따로 나와있어도 매우 짧게 설명이 되어있어서 그냥 지나치기 쉬운 것 같다.
일단 형태는 다른 메소드의 파라미터 같이 메인 함수의 파라미터 자리에 들어가 있는데 왜 문자열일까?
String[]args 는 명령형 파라미터라고 한다. 프로그램이 시작될 때 받는 명령어를 파라미터로 받는다는 것 입니다.
String[]args 는 args 라는 배열을 의미하는 것 정도는 알 수 있습니다. 그렇다면 여기에 무슨 값이 들어있나 확인해보기 위해 다음과 같은 코드를 짜서 무슨 값이 출력되는지 확인해 보겠습니다.
import java.io.*; public class Test{ public static void main(String[]args){ for(String str : args) System.out.println(str); System.out.println(length.args); } }
위 코드를 입력 후 출력해보시면 아무것도 나오지 않는 것을 볼 수 있습니다. 왜냐하면 String[]args는 프로그램이 시작할 때 받는 명령어를 받는 명령형 파라미터 인데 그냥 Eclipse 같은 툴을 사용해서 실행시키면 실행될 때 받는 명령어가 없기 때문에 args 안에는 아무 명령어도 없는 것 입니다.
아직 정확히 모르겟지만 명령어 프롬프트(cmd)에서 실행시킬 때 리눅스, 도스 옵션 처럼 ls -a 와 같이 java Test -xx 해주게 되면 뒤 옵션을 명령어로 받아서 args 에 저장시키는 것 같습니다.
'Com > Java' 카테고리의 다른 글
[Java] 클래스의 정적 필드 / 정적 메소드 / Static Field / Static Method (0) | 2013.08.05 |
---|---|
[Java] Overriding / 오버라이딩 / Overloading / 오버로딩 (0) | 2013.08.05 |
[Java] Exception 처리 (0) | 2013.08.05 |
[Java] 연산에서 형변환 / Casting (0) | 2013.08.05 |
[Java] jdk 5.0 이상 버전의 for문 추가기능 (1) | 2013.08.04 |