언어 학습과 이론 학습을
더 체계적으로 이어보세요
학습 언어와 이론 카테고리를 대분류, 중분류, 소분류로 나눠서 더 쉽게 탐색할 수 있도록 정리한 화면입니다. 처음 배우는 분도 지금 어떤 영역을 보고 있는지 헷갈리지 않도록 구조를 단순하게 구성했습니다.
학습 구조
대 · 중 · 소분류
학습 트랙
언어 + 이론
학습 단계
입문 · 기초 · 중급
원하는 학습을
더 빠르게 찾을 수 있게 정리했습니다
로드맵으로 체계적으로 학습해보세요
목표에 맞는 학습 로드맵을 선택하고, 정해진 순서대로 학습하면서 진행률과 현재 학습 위치를 관리할 수 있습니다.
1. 학습 언어 및 프레임워크
학습하고 싶은 기술을 선택해주세요.
프로그래밍 언어 / 웹 기초
백엔드 / 프론트엔드 프레임워크
데이터베이스 / 데이터
DevOps / 인프라
생성형 AI / AI 개발 도구
2. 난이도
3. 단원
학습 모듈
상단에서 선택한 소분류와 단계에 따라 모듈이 바뀝니다.
Java 소개와 JDK 21 설치 (JAVA_HOME, IDE)
Java의 특징(Write Once Run Anywhere, JVM)을 이해하고, JDK 21을 설치하고 IDE를 구성한다.
- Java는 JVM 위에서 실행되는 객체지향 언어로, OS에 독립적이며 서버·안드로이드·빅데이터 등 광범위하게 사용된다.
- JDK(컴파일러+JVM+라이브러리)를 설치하고, JAVA_HOME 환경변수를 설정하며, IntelliJ IDEA(권장) 또는 VS Code로 개발 환경을 구성한다.
- JDK 21은 LTS(Long Term Support) 버전으로, Virtual Threads, Record Pattern, Sequenced Collections 등 주요 기능이 정식 포함되었다.
Java 소개와
JDK 21 설치
JVM의 WORA(Write Once, Run Anywhere) 원리를 이해하고, JDK 21을 설치하여 JAVA_HOME과 IDE를 구성하는 개발 환경을 완성한다.
Java란 무엇인가?
1-1-1. Java의 탄생과 철학
Java는 1995년 Sun Microsystems가 발표한 객체지향 프로그래밍 언어이다. 당시 가장 큰 문제였던 "플랫폼마다 다시 컴파일해야 하는 문제"를 해결하기 위해, Java는 소스 코드를 특정 CPU의 기계어가 아닌 바이트코드(Bytecode)로 컴파일한 뒤, 각 플랫폼에 설치된 JVM이 이를 해석·실행하는 방식을 채택했다.
이 철학을 한 문장으로 요약한 것이 바로 "Write Once, Run Anywhere" (WORA)이다. 한 번 작성하고 컴파일한 .class 파일은 Windows, macOS, Linux 어디서든 동일하게 실행된다.
WORA 원리 — 컴파일과 실행의 분리

1-1-2. JDK, JRE, JVM의 관계
세 용어는 포함 관계로 이해하면 쉽다. JVM은 바이트코드를 실행하는 가상 머신이고, JRE는 JVM에 표준 라이브러리를 더한 실행 환경이며, JDK는 JRE에 컴파일러(javac) 등 개발 도구를 더한 개발 키트이다.
| 구성 요소 | 포함 범위 | 용도 |
|---|---|---|
| JVM | 바이트코드 실행 엔진만 | 프로그램 실행 |
| JRE | JVM + 표준 라이브러리 | 실행 전용 배포 환경(현재는 거의 미사용) |
| JDK | JRE + 컴파일러/디버거/문서화 도구 | 개발자가 반드시 설치해야 함 |
JDK 버전과 LTS
1-2-1. 왜 JDK 21인가?
Java는 2018년부터 6개월마다 새 버전을 출시하지만, 그중 일부만 LTS(Long-Term Support)로 지정되어 장기간 지원을 받는다. JDK 21은 2023년 9월 출시된 LTS 버전으로, Virtual Thread(가상 스레드), Record Pattern, 향상된 Switch Expression 등 실무에 바로 쓸 수 있는 기능이 대거 포함되어 현재 교육·현업 표준으로 널리 사용된다.
| 버전 | 출시연도 | LTS 여부 | 비고 |
|---|---|---|---|
| JDK 8 | 2014 | LTS | 람다, 스트림 API 도입 |
| JDK 11 | 2018 | LTS | JRE 배포 중단 |
| JDK 17 | 2021 | LTS | Sealed Class, Record 정식화 |
| JDK 21 | 2023 | LTS | Virtual Thread, Record Pattern |
1-2-2. 배포판 선택 — Oracle JDK vs OpenJDK
JDK는 여러 회사가 OpenJDK 소스를 기반으로 빌드하여 배포한다. 학습용으로는 Eclipse Temurin(무료·오픈소스)을 권장하며, Oracle JDK는 상업적 사용 시 라이선스 조건을 반드시 확인해야 한다.
JDK 21 설치 (OS별)
1-3-1. Windows 설치
1-3-2. macOS 설치
1-3-3. Linux 설치
OS별 JDK 설치 경로 비교

JAVA_HOME 환경변수 설정
1-4-1. JAVA_HOME이 필요한 이유
Maven, Gradle 같은 빌드 도구와 각종 IDE는 어떤 JDK를 사용할지 판단하기 위해 JAVA_HOME 환경변수를 참조한다. 이 값은 JDK가 설치된 루트 디렉토리를 가리켜야 하며, bin 폴더까지 포함하면 안 된다.
%JAVA_HOME%\bin을 추가해야 한다. 설정 후에는 반드시 새 터미널을 열어야 반영된다.IDE 설치와 구성
1-5-1. IntelliJ IDEA vs VS Code
IntelliJ IDEA는 Java 전용 기능(리팩토링, 디버깅, 빌드 도구 통합)이 강력하여 실무에서 가장 널리 쓰인다. VS Code는 가볍고 다양한 언어를 함께 다루는 데 유리하며, "Extension Pack for Java"를 설치하면 Java 개발이 가능해진다.
| IDE | 특징 | 추천 대상 |
|---|---|---|
| IntelliJ IDEA Community | 무료, Java 특화, 강력한 리팩토링 | Java 중심 학습자 |
| VS Code | 가볍고 다목적, 확장 기반 | 여러 언어를 함께 다루는 개발자 |
| Eclipse | 오래된 전통, 무료, 플러그인 풍부 | 레거시 프로젝트 유지보수 |
IntelliJ IDEA 프로젝트 SDK 설정 화면

1-5-2. 최종 검증
트러블슈팅
원인: PATH 환경변수에 JDK의 bin 디렉토리가 등록되지 않았거나, 변경 후 터미널을 재시작하지 않았다.
원인: 과거에 설치한 JDK 8, 11 등이 PATH에 먼저 등록되어 새로 설치한 JDK 21보다 우선순위가 높다.
원인: IDE 내부에 등록된 SDK 목록에 새로 설치한 JDK 경로가 추가되지 않았다. IntelliJ 기준 File → Project Structure → SDKs에서 "+" 버튼으로 JDK 설치 경로를 직접 추가해야 한다.
핵심 요약 및 학습 확인
1-7-1. 전체 흐름 요약
Java 개발 환경 구성 전체 흐름

Java 철학
WORA 원리 바이트코드 + JVM
JDK ⊃ JRE ⊃ JVM
개발자는 JDK 필수 설치 JDK 11+ 부터 JRE 별도 배포 안함
JDK 21 LTS
Virtual Thread, Record Pattern 장기 지원 버전
JAVA_HOME
JDK 루트 디렉토리 경로 bin 폴더 제외!
IDE 구성
IntelliJ 또는 VS Code Project SDK 등록
1-7-2. 학습 확인 문제
Q1. Java가 WORA(Write Once, Run Anywhere)를 실현할 수 있는 핵심 이유는?
Q2. JDK, JRE, JVM의 포함 관계로 올바른 것은?
Q3. JDK 21이 교육·현업 표준으로 널리 쓰이는 이유로 가장 적절한 것은?
Q4. JAVA_HOME 환경변수에 들어갈 값으로 올바른 것은?
Q5. 아래 에러 메시지의 가장 가능성 높은 원인은?'java'은(는) 내부 또는 외부 명령... 이 아닙니다