본문 바로가기
프로그래밍 언어/JAVA

[Java] main 메서드의 역할

by 티옌.liy 2022. 11. 1.

예전에 Java 관련 토론을 진행할 때

 

자바는 클래스가 메인인데, main 메서드는 왜 필수인가?

메서드는 클래스의 일부일뿐 아닌가?

 

라고 어떤분이 질문했던 내용인데

좋은 질문이다.

 

결론부터 말하면

Java 프로그램은 반드시 1개의 main 메서드(함수)가 있어야 한다.

없어도 안되고, 중복되어서도 안된다.

 

 

Java 코드가 컴퓨터에 실행되는 과정은 아래 글과 같은데

 

자바 프로그램 실행 과정

자바 소스코드(.java)를 컴파일 하면 클래스 파일(.class)이 생성되는데 JVM은 클래스 파일을 실행하고 OS에게 전달하여 프로그램을 구동한다. 위 사진처럼 자바 소스파일을 컴파일하면 Java 문법을

tyen.tistory.com

 

이처럼, 프로그램이 실행될 때

' java.exe '에서 첫번째로 호출하는 코드가

main 메서드로 미리 약속되어 있으므로

 

public static void main(String[] args)

형식을 똑같이 코딩해줘야 한다.

 

main 메서드는 프로그램의 시작점

 

모든 클래스가 main 메서드를 가지고 있어야하는것은 아니고

Java 애플리케이션(app)에서는 반드시 1개의 main 메서드만 존재해야한다.

 

main 메서드는 Java App의 시작점이므로

main 메서드 없이는 Java App은 실행될 수 없다.

 

 

우리가 자유로운 에버랜드 놀이공원을 이용해도

들어가는 입구와 출구는 동일한 메인 Gate 1개인것처럼

 

객체지향 언어인 Java가 절차지향인 C언어보다 자유도가 많지만

그래도 내부는 C언어로 작성되었으므로

C언어의 main 함수 호출 매커니즘을 따르는 것을 잊지 말아야 한다.

댓글