IT/Java
[Java] main() 메소드는 뭘까?
U.N.nwonk
2022. 5. 10. 02:58
main()메소드란?
자바 응용프로그램의 실행이 시작되는 특별한 메소드
자바를 처음 시작한다면, 다음 코드를 반드시 보게된다. 항상 보게되는 이 main()메소드가 무슨 의미인지 아래 코드를 보면서 설명하겠다.
public static void main(String[] args) {
// 소스코드
}
1. public
다른 클래스에서 호출 가능함을 의미한다.
자바 프로그램이 실행을 시작할 때 JVM(*자바 가상 기계)에 의해 호출되어야 하므로 public 속성으로 선언되어야한다.
2. static
static은 정적인 속성이며, 실행되기 전에도 호출 가능함을 의미한다.(동적은 실행되는 도중 호출되는 것)
main()메소드는 자신 포함 클래스의 객체가 생성되기 전에, 처음부터 JVM에 의해 호출되므로 static 속성으로 선언된다.
3. void
리턴값이 없다는 뜻이다.
main()메소드를 끝내고 싶다면, return; 즉, 아무것도 리턴 안해줘도 된다.
4. String[] args
자바는 명령행에 입력된 인자들을 문자열 배열로 만들어 main() 메소드에 전달한다.
String[]은 문자열 배열 타입이라는 뜻이고, args는 매개 변수다.
즉, 소스코드로 표현하자면 이렇다.
--------자바 커맨드-------
C:\>java Test abcd 2 6.6
--------소스 코드----------
public static void main(String [] args){
String a = args[0]; // a는 "abcd"
String b = args[1]; // b는 "2"
String c = args[2]; // c는 "6.6"
}
"abcd"와 같은 명령행 인자들이 Test클래스의 main()메소드의 매개변수로 전달된다.
전달된 명령행 인자들은 문자열(String)배열에 저장되며, 문자열 배열에 대한 레퍼런스가 main()매소드의 매개변수 args에 전달되는 방식이다.
반응형