Language/Java

Java - 메인 메서드가 public static void인 이유

JaeHoney 2020. 9. 28. 16:13

 

왜 자바의 메인 메서드는 public static void를 사용할까?

자바의 메인메서드를 작성할 때는 public static void main(String[] args){}구조로 작성합니다. 왜 이런 구조를 갖게 되었는지 살펴보겠습니다.

 

public

public은 접근제어자입니다. 어느 클래스에서든 해당 객체를 참조할 수 있다는 뜻입니다. JVM(Java Virtual Machine)이 접근 하기 위해서 public을 사용해야만 합니다. 다른 접근 제어자를 사용하면 프로그램이 실행되지 않습니다.

 

static

static으로 뭔가를 선언하게 되는 경우, 자바가 컴파일 되는 시점에 정의됩니다(클래스 로드). 그리고 static 요소를 non-static 요소에서 호출하는 것은 불가능합니다.

 

main 메서드는 프로그램의 시작점. 프로그램이 실행되면 제일 먼저 호출되는 메서드이기 때문객체를 생성하지 않은 채로 바로 작업을 수행해야 하기 때문에 static이어야 합니다.

 

void

타입이 void라는 것은 반환할 것이 없다는 의미입니다. 즉, 메인 메서드를 호출하는 JVM(Java Virtual Machine)에서 반환값을 요구하지 않으니 void타입을 사용합니다(멀티 스레드를 염두했기 때문).

 

 

포스팅 계기

 

아래 블로그 개발자가 카카오에 입사하는 과정에서 면접때 질문 중 하나로 java의 메인 메서드가 왜 public static void인지 질문했다고 하는데, 저도 감은 잡히지만 표현하는데에서 모호할 것 같아서 한번 알아보기도 하고, 공유도 하고자 글을 썼습니다. 

 

zorba91.tistory.com/273

 

문과생의 카카오 개발자 이직기 - 3 (1차 면접)

긴장되는 오프라인 면접, 그 1차! 1차 면접날, 아침 일찍 부산에서 수서로 가는 SRT에 몸을 실었다. 부산역 약국에서 산 우황청심원을 주머니에 넣은채로. 길을 잃지 않고 한 번에 카카오 오피스를

zorba91.tistory.com