Main.java 파일을 생성해서 실행하기까지의 과정을 순서대로 따라가기 위해서 이해해야하는 개념 Main.java(소스코드) -> javac -> Main.class(바이트코드) -> java -> JVM이 실행 javac: 컴파일러 (Java Compiler).java 소스를 바이트코드(.class)로 컴파일하는 역할. 결과물이 기계어는 아님. 특정 CPU가 아닌, JVM이 읽을 수 있는 중간언어. 문법적 오류가 발생하면 컴파일이 실패하여 문법 오류를 잡을 수 있게 해줌. JVM: 자바 가상 머신(Java Virtual Machine)바이트코드를 실제로 실행하는 가상의 컴퓨터. 바이트 코드를 그 컴퓨터의 기계어로 바꿔서 작동시키고, 메모리 관리 및 GC(Garbage Collector) 역할도 담당한..