Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 .class 파일은 언제, 어떻게 생성될까요?

자바 클래스 파일은 .class 확장자를 가지며, 그 안에는 자바 바이트코드(bytecode)가 담겨 있습니다. 이 파일은 JVM(Java Virtual Machine)에 의해 실행되는 실질적인 실행 단위입니다.

.class 파일은 자바 컴파일러(javac)가 .java 소스 파일을 성공적으로 컴파일했을 때 생성됩니다. 즉, 컴파일이 오류 없이 완료되는 순간 해당 폴더에 바이트코드 파일이 만들어지는 것입니다.

하나의 .java 파일에 여러 클래스가 있을 때

주목할 점은 하나의 .java 파일 안에 여러 개의 클래스가 정의되어 있다면, 컴파일 후 각 클래스마다 별도의 .class 파일이 생성된다는 것입니다. 예를 들어 파일 안에 클래스가 4개라면, 컴파일 결과로 4개의 .class 파일이 만들어집니다.

예제 코드

class A {
    A() {
        System.out.println("This is class A");
    }
}
class B {
    B() {
        System.out.println("This is class B");
    }
}
class C {
    C() {
        System.out.println("This is class C");
    }
}
public class ClassTest {
    public static void main(String[] args) {
        A obj1 = new A();
        B obj2 = new B();
        C obj3 = new C();
    }
}

위 예제에서 ClassTest.java 파일에는 총 네 개의 클래스(A, B, C, ClassTest)가 정의되어 있습니다. 따라서 컴파일이 성공적으로 끝나면 해당 폴더에는 다음과 같은 네 개의 .class 파일이 생성됩니다.

  • A.class
  • B.class
  • C.class
  • ClassTest.class

실행 결과

This is class A
This is class B
This is class C

정리

.class 파일은 자바 컴파일러가 .java 소스를 성공적으로 컴파일하는 시점에 생성되며, 소스 파일 내에 정의된 클래스 수만큼 개별적인 클래스 파일이 만들어집니다. JVM은 이 바이트코드를 읽어 프로그램을 실행하기 때문에, .class 파일은 자바 프로그램 배포와 실행의 핵심 요소라고 할 수 있습니다.