왜 public static void main 인가?

2024. 1. 28. 20:20Backend 취업준비/Java

프로그램이 동작하도록 하려면 JRE가 프로그램의 main메서드를 실행시켜야 하는데, 이 과정이 잘 수행되도록 하기 위하여 정해짐

 

public : main 메서드가 클래스 바깥에서 호출 가능해야 하는데, 다른 접근제어자를 붙이게 된다면 JRE에서 접근할 수 없게 된다. 예시로 private이라면 main메서드가 존재하는 클래스 에서만 호출 가능하게 된다.

 

static : main 메서드가 존재하는 클래스를 인스턴스화 하지 않고도 main 메서드를 실행할 수 있게 한다. => JVM 구동 시작 시에 생성이 되며, 종료 시까지 유지되는 Method Area에 로드 되도록 한다.

 

void : main메서드의 임무는 프로그램 실행을 하는 것이며, 해당 메서드가 종료되면 프로그램이 종료된다. 특정 값을 반환하는 역할을 수행하지 않는다.

 

main : 실행 메서드 이름 규칙. JRE가 프로젝트에서 main이라는 이름을 가진 메서드를 가진 클래스를 찾아 로드하고, 실행한다.

 

String[] args : main 메서드의 매개변수. String배열을 매개변수로 받는다는 뜻. IDE로 해당 매개변수에 인자를 넘겨줄 일은 매우 드물다. IDE에서 설정을 통하여 인자를 넘겨주거나, 명령프롬프트로 커맨드라인에 문자열을 입력할 때 사용 가능하다.