.java와 .class의 차이점
![.java와 .class의 차이점](/img/Java/feature-image---difference-between-.java-and-.class-files.webp)
Java는 플랫폼 독립적인 프로그래밍 언어입니다. C 언어와 같은 일반적인 1단계 컴파일 대신 2단계 실행 프로세스가 포함됩니다.
첫 번째 단계 실행은 OS 독립적인 컴파일러를 사용하여 수행됩니다. 두 번째 단계 실행은 JVM 또는 Java 가상 머신이라고도 하는 가상 머신의 도움으로 수행됩니다.
2단계 실행 중에 확장자가 .java
및 .class
인 파일이 형성됩니다. 이 기사에서는 .java
와 .class
파일의 기본적인 차이점을 살펴봅니다.
자바 프로그램 작성의 기초
.java
및 .class
파일의 개념을 이해하려면 Java 프로그램이 어떻게 실행되는지 알아야 합니다. 다음 코드를 예로 들어 보겠습니다.
public class DemoProgram {
/* This is a demo Java program that will print 'Hello Java' as the output */
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
이 프로그램을 실행하려면 다음 단계를 따르십시오.
-
위의 코드를 텍스트 에디터로 작성합니다. 그런 다음 파일을
DemoProgram.java
로 저장합니다. 파일 이름은 클래스 이름과 같아야 합니다. -
이 파일을 저장한 디렉토리의 경로를 사용하여 명령 프롬프트 창을 엽니다.
-
javac DemoProgram.java
명령을 입력합니다. 엔터 키를 누릅니다.javac
명령은 Java 프로그램을 컴파일합니다..java
파일을 입력으로 받아 바이트코드 파일로 변경합니다. 이 단계는 코드 컴파일을 시작합니다. 오류 없이 컴파일이 성공하면 커서가 다음 줄로 이동합니다.C :\Users\PC > javac DemoProgram.java
-
그런 다음
java DemoJava
명령을 입력합니다. 여기에서 파일 이름과 함께.java
를 사용하지 않습니다. 그 이유는java
명령이 바이트 코드를 입력으로 받아 소스 코드에 따라 최종 출력을 제공하기 때문입니다. 간단히 말해서 이번에DemoProgram
은 자바 파일이 아니라 바이트코드입니다.C :\Users\PC > java DemoProgram
-
위의 명령은 프로그램을 실행하고 다음과 같이 출력을 볼 수 있습니다.
Hello Java
계속 진행하기 전에 다음 사항에 유의하십시오.
-
소스 코드는 프로그래머가 모든 프로그래밍 언어로 작성하는 코드입니다. 문제를 해결하기 위해 수동으로 작성합니다.
-
Java에서 각 프로그램은
클래스
를 구성합니다. 코드 작성 목적에 따라 단일 프로그램에 둘 이상의 클래스가 있을 수 있습니다. 위의 예와 같이DemoProgram
이라는 단일 클래스만 있습니다.
위 섹션에서 텍스트 파일을 만들고 .java
확장자로 저장합니다. 이것은 컴파일러를 통과하는 소스 파일입니다.
이것은 소스 코드를 기계 독립적인 인코딩으로 인코딩합니다. 이것을 바이트코드
라고 합니다.
이미 언급했듯이 하나의 프로그램에는 하나 이상의 클래스가 있을 수 있습니다. 따라서 인코딩하는 동안 각 클래스의 내용은 다른 .class
파일로 별도로 이동합니다.
그런 다음 이러한 파일은 시스템 또는 OS에 독립적이므로 모든 시스템에서 실행할 수 있습니다.
.java
와 .class
파일이 사진에 들어오는 것을 보았습니까? 이 확장자로 소스 코드를 저장할 때 .java
파일이 형성됩니다. .class
파일은 컴파일이 수행될 때 형성됩니다.
Java의 .java
파일
.java
파일은 Java의 소스 코드 자체에 불과합니다.
간단히 말해서 우리가 작성한 코드가 들어 있는 파일입니다. 간단한 텍스트 편집기나 IDE를 사용하여 Java 프로그램을 작성할 수 있습니다.
무엇을 사용하든지 작성한 프로그램이나 소스 코드를 저장합니다. Java 소스 코드 파일을 저장하기 위해 .java
확장자를 사용합니다.
모든 언어에는 소스 코드 파일을 저장하는 규칙이 다릅니다. C 언어와 마찬가지로 소스 코드 파일의 확장자는 .c
입니다. 파이썬에서는 .py
이고 C++에서는 .cpp
를 사용합니다.
Java의 .class
파일
.class
파일은 소스 코드에서 클래스의 바이트 코드를 포함하는 파일입니다. 이 파일은 컴파일이 수행될 때 형성됩니다.
Java가 플랫폼 독립적인 언어라고 언급한 것은 이러한 클래스 파일 때문입니다. 이러한 파일은 모든 OS 또는 시스템에서 실행할 수 있습니다.
.class
파일은 컴파일된 .java
파일로 간주할 수 있습니다. JVM(Java Virtual Machine)에서 실행되는 파일입니다.
.class
파일의 수는 반드시 하나일 필요는 없습니다. 컴파일 후 각 클래스가 다른 .class
파일로 이동하므로 소스 코드가 갖는 클래스 수와 같습니다.
예 1:
public class DemoProgram {
/* This is a demo Java program that will print 'Hello Java' as the output */
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
출력:
C:\Users\PC>javac DemoProgram.java
C:\Users\PC>java DemoProgram
Hello Java
이 코드에는 DemoProgram
이라는 하나의 클래스만 있습니다. 따라서 컴파일로 인해 .class
파일 DemoProgram
하나만 얻습니다.
이제 다른 예를 살펴보겠습니다.
예 2:
// A class
class TestCase {
public static void main(String[] args) {
System.out.println("An example with multiple classes.");
}
}
// Another class
class Demo {
public static void main(String[] args) {
System.out.println("This is an example.");
}
}
// One more class
class Example {
public static void main(String[] args) {
System.out.println("It contains three classes.");
}
}
파일 컴파일:
C :\Users\PC > javac Example.java
컴파일 후 출력으로 .class
파일이 하나가 아니라 세 개 있습니다. 따라서 소스 코드의 클래스 수만큼 .class
파일이 있음을 알 수 있습니다.
다음과 같이 각 .class 파일을 개별적으로 실행할 수 있습니다.
C :\Users\PC > java TestCase An example with multiple classes.
C :\Users\PC
> java Demo This is an example.
C :\Users\PC
> java Example It contains three classes.
.java
와 .class
파일의 차이점
이 두 파일 유형의 차이점은 다음 표에 요약되어 있습니다.
.java 파일 |
.class 파일 |
---|---|
여기에는 Java 소스 코드가 포함되어 있습니다. | 여기에는 Java 바이트 코드가 포함되어 있습니다. |
프로그래머나 개인이 작성합니다. | .java 파일의 컴파일 결과로 형성됩니다. |
사람이 읽을 수 있습니다. | 프로그램 실행을 위해 JVM에서 사용됩니다. |
.class 파일 앞에 형성됩니다. 이것이 없으면 클래스 파일을 구성할 수 없습니다. |
항상 .java 파일 다음에 형성됩니다. |
우리는 이것을 모든 텍스트 편집기나 Java IDE에서 작성할 수 있습니다. | 모든 OS나 머신에서 실행할 수 있습니다. |
결론
이 기사는 .java 파일
과 .class 파일
의 주요 차이점에 대해 설명했습니다. 또한 Java 프로그램이 기계 수준과 사용자 수준에서 실행되는 방식도 보았습니다.
이 개념은 Java 프로그래밍의 기초이며 Java 프로그램 및 응용 프로그램을 효율적으로 실행하기 위해 이해하는 것이 중요합니다.
관련 문장 - Java File
- Java에서 파일에서 줄 바꿈을 제거하는 방법
- Java에서 파일 닫기
- Java JAR 파일 생성 및 실행
- Java를 사용하여 디렉토리에서 파일 삭제
- Java에서 두 파일의 내용 비교
- Java에서 파일 크기 얻기