#1 Java를 공부하기 전 배경지식 - 1 24.12.18
자바를 공부하기 전에 알아두면 좋을 것들! 🚀
- JDK, JRE, JVM을 한 번에 이해하기 -
자바를 공부하다 보면 꼭 듣게 되는 용어들이 있습니다. 바로 JDK, JRE, 그리고 JVM입니다. 이번 포스팅에서는 자바를 시작하기 전에 꼭 알아두면 좋을 기본 개념을 아주 쉽게 정리해 드리겠습니다.
1. 자바와 컴퓨터는 어떻게 소통할까? 💻
컴퓨터는 사실 0과 1만 이해하는 단순한 구조입니다. 우리가 작성하는 자바 코드(영어 같은 문자)는 컴퓨터가 이해하지 못해요.
그래서 컴파일러라는 친구가 등장합니다!
- 컴파일러: 사람이 작성한 코드를 0과 1(바이트 코드)로 변환하는 도구입니다.
- 바이트 코드: 컴퓨터가 이해할 수 있는 0과 1로 이루어진 코드입니다.
즉, 자바 코드는 컴파일 과정을 통해 컴퓨터가 이해할 수 있는 형태로 바뀌게 됩니다.
2. 자바와 C 언어의 차이점 🔄
C 언어의 경우, 운영체제마다 다른 컴파일러가 필요합니다. 예를 들어, 윈도우용, 리눅스용, 맥용 컴파일러가 각각 존재하죠. 하지만 자바는 조금 특별합니다!
자바는 한 번만 컴파일하면 JVM이 운영체제에 맞게 실행해줍니다.
- JVM (Java Virtual Machine): 바이트 코드를 운영체제가 이해할 수 있도록 변환하고 실행하는 역할을 합니다.
- 윈도우 JVM
- 맥 JVM
- 리눅스 JVM
덕분에 자바는 한 번의 컴파일로 여러 운영체제에서 실행할 수 있는 강점이 있습니다. 이게 바로 Write Once, Run Anywhere입니다.
3. JDK, JRE, JVM이 뭘까? 📚
이제 자바 개발 환경을 구성하는 세 가지 개념을 이해해 봅시다.
- JVM (Java Virtual Machine)
- 바이트 코드를 실행하는 자바 가상 머신입니다.
- 운영체제에 맞게 바이트 코드를 번역하고 실행합니다.
- JRE (Java Runtime Environment)
- JVM + 실행에 필요한 라이브러리가 포함되어 있습니다.
- 자바 프로그램을 실행하는 데 필요한 환경입니다.
- 즉, 실행만 할 때 필요합니다.
- JDK (Java Development Kit)
- JRE + 개발 도구(컴파일러, 디버거 등)가 포함되어 있습니다.
- 자바 프로그램을 개발하고 실행하는 데 필요한 모든 것을 갖추고 있습니다.
정리하면,
👉 JDK > JRE > JVM 순서로 포함 관계를 이해하면 됩니다.
4. 자바 버전과 LTS란 무엇인가요? 📅
자바는 꾸준히 버전이 업데이트되며 새로운 기능들이 추가됩니다. 그중에는 LTS (Long Term Support)라는 버전이 있습니다.
- LTS 버전: 장기적으로 지원되는 안정적인 버전입니다.
- 예시: 자바 8, 자바 11, 자바 17 등은 LTS 버전으로 오랫동안 사용할 수 있습니다.
최신 버전을 선택할 때는 LTS 버전인지 확인하면 됩니다.
5. JDK의 종류는 뭐가 있을까? 🔍
자바 개발 키트(JDK)도 종류가 다양합니다. 대표적으로 많이 사용되는 두 가지를 알아봅시다.
- Oracle JDK
- 개인 사용은 무료지만, 기업 사용은 유료입니다.
- OpenJDK
- 오픈 소스 버전으로 무료입니다.
- Oracle JDK와 기능은 거의 동일합니다.
개인 프로젝트를 진행할 때는 Oracle JDK를 사용하고, 상업적으로 이용할 경우 OpenJDK를 선택하면 됩니다.
마무리: 자바를 공부하기 전에 꼭 알아두세요! ✅
오늘은 자바를 공부하기 전에 알아두면 좋은 JVM, JRE, JDK의 개념을 정리해 보았습니다. 핵심 내용을 다시 한번 짚어볼까요?
- 컴파일러는 자바 코드를 바이트 코드로 변환합니다.
- JVM은 바이트 코드를 운영체제에 맞게 번역하고 실행합니다.
- JRE는 자바 실행 환경이며, JDK는 개발 환경입니다.
- 자바의 LTS 버전을 선택하면 안정적으로 사용할 수 있습니다.