Java - JVM(Java Virtual Machine) 간단히 알아보기

시작하기

Java라는 프로그래밍 언어를 배우게 되면 흔하게 접하는 내용 중 하나가 JVM입니다. JVM은 Java Virtual Machine의 줄임말로 번역하면 자바 가상 기계입니다. Java Virtual Machine(자바 가상 머신)의 역할을 조금 더 구체적으로 설명하면 Java로 만들어진 프로그램을 운영체제에 종속되지 않고 실행되게 해주는 가상 머신이라고 말 할 수 있습니다. 개인적으로는 JVM은 통역사라고 설명하는 게 의미적으로 가장 이해하기 좋다고 생각합니다. JVM이 하는 일을 더 자세히 알아보면 JVM은 정말 멋진 통역사입니다. 지난해에 이슈가 되었던 봉준호 감독님의 통역사처럼 말이죠.

이미지로 보는 JVM이 하는 일 by 통역

일반적인 프로그램 동작 방식

일반적인 프로그램이 동작하는 원리를 그려보았습니다. 그림과 완전히 같은 방식은 아니라는 점을 참조해주세요. JVM의 개념적인 이해를 돕기 위해 위와 같은 이미지로 그려졌을 뿐 실제는 고양이보다는 문서에 가까운 형태입니다.

Java 프로그램 동작 방식

JVM을 통해 Java프로그램이 실행되는 모습을 그렸습니다. JVM은 Java 프로그램과 운영체제의 사이에서 다리 역할을 하면서 Java 프로그램이 잘 동작할 수 있게 해 줍니다.

Java 프로그램 동작 방식 - JVM이 없는 경우

만약 Java로 만든 프로그램은 JVM이 없다면 그림과 같이 어떤 운영체제에서도 실행이 될 수 없습니다.

Java 프로그램 구동 방식 - 운영체제와 독립적인 Java 프로그램

결국 Java는 JVM이라는 요소가 있어서 혹은 있기 때문에 여러 운영체제와의 호환성을 가질 수 있습니다. 즉 Java 프로그램이 운영체제에 독립적으로 만들어진다는 것을 의미합니다.

정리하기

앞서 이미지로 설명드린 것처럼 JVM은 Java 언어 프로그램과 운영체제 사이에서 통역사 역할을 하고 있습니다. 이미지에서는 통역을 한다고 표현하였지만 사실을 통역이 아니라 번역을 하는 게 더 올바른 표현입니다. 그리고 JVM은 단순히 통역만 하는 것이 아니라 통역은 주된 일 중에 하나일 뿐 정확히 하고 있는 일은 중개자 역할입니다.

 

이번 글에서는 JVM의 역할을 알아보기 위해 작성한 글이므로 여기서 마무리한 후 JVM의 구조나 실제 역할 등 자세한 설명은 다른 포스트에서 다루도록 하겠습니다.

 

- 같이 보면 좋은 글

2021.03.31 - [프로그래밍/Java] - Java - 자바란?

반응형

댓글

Designed by JB FACTORY