public static void main(String[] args){
}
자바의 메인메서드를 작성할 때는 위와 같은 구조로 작성을 한다. 그 이유가 무엇인지 정리를 해보았다.
public은 접근제어자로 어느 클래스에서든 해당 객체를 참조할 수 있다는 뜻 이다. JVM(Java Virtual Machine)이 접근 하기 위해서 public을 사용해야만 한다.
JAVA 프로그램을 실행하게 되면 가장 먼저 main 메서드가 호출이 된다. main 메서드가 실행되기 위해서는 메모리에 할당이 되어야 하는데, static이 붙지 않는다면 누군가가 main 메서드를 가진 클래스의 인스턴스 만들고 호출을 해야하므로 '가장 먼저 main 메서드가 호출이 된다' 라는 규칙이 깨지게 된다. 즉, static 키워드를 사용함으로서 자동적으로 메모리가 할당이 되고, 가장 먼저 호출을 할 수 있게 되는 환경이 된다.
main 함수가 종료되면(혹은 비정상적으로 죽으면) 프로그램이 종료된다. 프로그램 자체가 종료되기 때문에, return 값의 의미를 지닐수가 없다.
참고 문서 및 링크
https://jaehoney.tistory.com/37
https://codingffler.tistory.com/16