main() 메소드는 자바 응용프로그램의 실행이 시작되는 특별한 메소드이다.

위의 main() 메소드의 원형을 보며 특징을 정리해보자.
main() 메소드의 특징
자바 응용프로그램의 실행은 main() 메소드부터 시작한다.
main() 메소드는 public 속성이다.
- public 속성은 메소드가 다른 클래스에서 호출 가능함을 나타냄
- 자바응용프로그램이 실행을 시작할 때 JVM에 의해 호출되어야 하므로 public 속성으로 선언되어야 함
main() 메소드는 static 속성이다.
- main() 메소드는 자신을 포함하는 클래스의 객체가 생성되기 전에, 처음부터 JVM에 의해 호출되므로 static 속성으로 선언되어야 함
main() 메소드의 리턴 타입은 void이다.
- 아무 값도 리턴하지 않기 때문에 void 타입
- main() 메소드를 끝내기 위해 리턴하려면 단순히 return;문 사용
main() 메소드에는 문자열 배열(String [])이 매개변수로 전달된다.
- 자바는 명령행에 입력된 인자들을 문자열 배열로 만들어 main() 메소드에 전달한다.
main() 메소드의 매개변수
앞서 말한 문자열 배열(Stirng [])에 관한 것이다.
C:> java Hello option1 option2 .. optionN
- 여기에서 option1, option2, ..., optionN은 명령행 인자(command line argument)라고 부르며, 이들은 모두 Hello 클래스의 main() 메소드의 매개변수로 전달된다.
- Hello 클래스의 main() 메소드가 시작되기 전, 이 인자들은 각각의 문자열로 만들어지고 문자열(String) 배열에 저장된다.
- 그리고 문자열 배열에 대한 레퍼런스가 main()의 매개변수 args에 전달된다.
- 이런 방식으로 main() 메소드는 명령행 인자들을 전달받는다.
즉, C:> java Hello abc 3 5.7 로 명령행 인자를 전달했을 때 아래와 같이 사용할 수 있다.
public static void main(String [] args){
String a = args[0]; // a는 "abc"
String b = args[1]; // b는 "3"
String c = args[2]; // c는 "5.7"
}
'Java' 카테고리의 다른 글
| [Java] 자바의 생성자 목적과 특징, 기본 생성자, this 레퍼런스 (0) | 2024.04.08 |
|---|---|
| [Java] 컴파일 오류, 런타임 오류, 예외(exception) 차이 및 자바의 예외처리 클래스와 try-catch-finally (0) | 2024.04.08 |
| [Java] Java에서 레퍼런스 타입과 배열의 활용: C++ 포인터와의 비교 (0) | 2024.04.08 |
| [Java] Java에서의 equals() 메소드 사용 시 주의할 점: operator.equals("+") vs "+".equals(operator) (3) | 2024.04.07 |
| [Java] 객체지향 4가지 특징과 5가지 설계 원칙(SOLID) (0) | 2024.04.07 |