본문 바로가기
Language/Java

[Java] 자바 프로그램 실행 과정

by 계범 2022. 2. 24.

프로그램 실행 과정

class Hello {
	public static void main(String[] args) {
    	System.out.println("Hello, world.");
	}
}

 

이 예제를 실행할려면,

자바 컴파일러(javac.exe)를 사용해서 소스파일(Hello.java)로부터 클래스파일(Hello.class)을 생성해야한다.

그 다음에 자바 인터프리터(java.exe)로 실행한다.

 

실제 콘솔에서 자바 어플리케이션을 실행시켰을때 내부 진행순서는 다음과 같다.

  1. 프로그램의 실행에 필요한 클래스(.class)를 로드한다.
  2. 클래스파일을 검사한다.(파일형식, 악성코드 체크)
  3. 지정된 클래스(Hello)에서 main(String[] args)를 호출한다.

 

자바 규칙

자바의 코드는 클래스 안에 존재해야하고, 이러한 클래스들이 모여서 자바 애플리케이션을 이룬다.

 

public static void main(String[] args) {}

메인 메서드는 프로그램을 실행할 때, 'java.exe'(인터프리터)에 의해 호출 될 수 있도록 미리 약속된 부분이다.

 

java 애플리케이션은 main 메서드의 호출로 시작해서 main 메서드의 첫문장부터 마지막문장까지 수행을 마치면 종료된다.

 

main메서드는 java 애플리케이션의 시작점이므로, java 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다.

 

하나의 소스파일에 하나의 클래스만을 정의하는 것이 보통이지만, 하나의 소스파일에 둘 이상의 클래스를 정의하는 것도 가능하다. 이때 주의점은 소스파일의 이름은 public class의 이름과 일치해야 한다. 만약 소스파일 내에 public class가 없다면, 소스파일 내에 있는 어떤 클래스의 이름으로 해도 상관없다.

 

소스파일(.java)과 달리 클래스파일(.class)은 클래스마다 하나씩 생성된다.

 

 

참조

'Java의 정석' 책

댓글