예, 정적 블록을 사용하여 main 메소드 없이 Java 프로그램을 실행할 수 있습니다.
Java의 Static Block은 Java ClassLoader에 의해 클래스가 메모리에 로드될 때 한 번만 실행되는 명령문 그룹으로, 정적 초기화 블록이라고도 합니다. 정적 초기화 블록이 스택 메모리로 직접 이동합니다.
예
class StaticInitializationBlock{ static{ System.out.println("class without a main method"); System.exit(0); } }
위의 예에서 우리는 메인 메소드 없이 자바 프로그램을 실행할 수 있습니다(Java 1.6 버전까지 작동). Java 7 및 최신 버전에서는 JVM이 클래스를 초기화하기 전에 기본 메서드의 존재를 확인하기 때문에 이를 허용하지 않습니다.
출력
class without a main method.