자바의 큰 특징 중 하나는 Mac이든 Linux든 Windows든 어떤 OS에도 영향을 받지 않고 독립적으로 실행될 수 있다는 것이다. 이는 자바가 JVM(Java Vitual Machine) 위에서 동작하기 때문에 가능한 것이다. 그렇다면 JVM이 어떻게 동작하기에 자바가 OS에 영향을 받지 않고 독립적으로 실행될 수 있는지, 그리고 컴파일 과정은 어떻게 되는지 알아보도록 하자. Compiled vs Interpreter 그렇다면 컴파일 과정을 알기 전에, 컴파일이 무엇인지 알아보자 컴퓨터 언어는 크게 컴파일(Complie) 언어와 인터프리터(Interpreter) 언어로 나뉜다. 컴파일 언어는 프로그램 실행 전, 소스 코드 전체를 기계어로 변환하는 컴파일을 수행하는 단계가 필요한 언어이고, 인터프리터..