English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java의 main 메서드는 값을 반환할 수 있습니까?

public static void main(String args[]) - Java 프로그램의 엔트리 포인트입니다. 프로그램을 실행할 때마다 JVM이 main 메서드를 찾아 그 내용을 실행합니다. 그러나 그런 메서드를 찾지 못하면 프로그램이 성공적으로 실행되지만, 프로그램을 실행할 때 오류가 발생합니다.
실제로, main 메서드를 선언할 때 public static을修饰자로 사용하고, void 반환 유형과 문자열 파라미터를 사용해야 합니다. 어떤 변경사항을 했는지에 따라 JVM은 그것을 엔트리 포인트 메서드로 인식하지 않으며, 실행 시 오류를 표시합니다.
따라서, main 메서드의 반환 유형을 void로 변경할 수 없으며, void 유형의 메서드에서 어떤 값도 반환할 수 없습니다.

예제

public class Sample{
   public static void main(String args[]){
      System.out.println("주요 메서드의 내용");
      return 20;
   }
}

출력 결과

Sample.java:4: error: incompatible types: unexpected return value
   return 20;
          ^
1 에러

따라서, main에서 어떤 값도 반환할 수 없습니다.