질문의 목적
- main 메서드를 이해하고 있는지에 대한 질문
- 자바는 대부분의 경우 main 메서드가 스타팅 포인트가 된다
- jvm이 main메서드를 쉽게 찾기 위해서 main 메서드의 시그니처가 정형화 되어있다
public static void main(String[] args){
}
- public : jvm이 어디서든 접근 가능하도록 하기 위함 (access from anywhere)
- static : 객체 생성 이전에 메모리에 처음으로 로딩이 되는 영역임 (loaded first in memory)
- 질문에 대한 답 : 메모리에 처음 떠오르는 영역이 될 수 없어서 메인 메서드가 실행이 될 수 없다
- void : 메인 메서드가 실행되고 난 후 반환되는 값이 없음을 의미
- main : 메서드의 이름 jvm에 이미 약속되어져 있는 값이기 때문에 이름을 반드시 main으로 해 주어야 한다
- String[] args : command line parameters in runtime
Keyword Check
- Starting point of program
- it doesn't work without 'static' modifier
main 메서드에 final을 추가하면 실행이 될까?
- final을 메서드에서 사용할 경우 더이상 오버라이딩이 불가함을 의미함