언어 학습과 이론 학습을
더 체계적으로 이어보세요
학습 언어와 이론 카테고리를 대분류, 중분류, 소분류로 나눠서 더 쉽게 탐색할 수 있도록 정리한 화면입니다. 처음 배우는 분도 지금 어떤 영역을 보고 있는지 헷갈리지 않도록 구조를 단순하게 구성했습니다.
학습 구조
대 · 중 · 소분류
학습 트랙
언어 + 이론
학습 단계
입문 · 기초 · 중급
원하는 학습을
더 빠르게 찾을 수 있게 정리했습니다
저장된 학습 순서대로
이어서 학습할 수 있어요
로드맵은 여러 개 보관할 수 있지만, 실제로 이어서 학습하는 활성 로드맵은 하나만 두는 방식이 가장 자연스럽습니다. 지금은 그 구조를 기준으로 화면을 구성했습니다.
내 로드맵 선택
프론트엔드 입문 로드맵
웹 프론트엔드 기준으로 JavaScript → TypeScript → React → Next.js → 웹 이론 순서로 학습하는 로드맵입니다.
진행률
42%
완료한 단계
2 / 7
마지막 학습 기록
2026-03-19 18:40
저장된 학습 위치를 기준으로 바로 이어서 들어갈 수 있도록 구성했습니다.
학습 순서
각 단계를 누르면 아래 학습 상세 화면이 해당 위치로 이동합니다.
1. 학습 언어 및 프레임워크
2. 난이도
3. 단원
학습 모듈
상단에서 선택한 소분류와 단계에 따라 모듈이 바뀝니다.
JDK 21 설치 및 환경변수 설정 (JAVA_HOME, PATH)
Java 프로그램을 컴파일하고 실행하기 위한 개발 도구 모음을 설치하는 첫 단계이다.
- JDK(Java Development Kit)는 컴파일러(javac), 런타임(JVM), 표준 라이브러리를 포함하는 개발 키트이다.
- JAVA_HOME 환경변수는 JDK 설치 경로를 가리키며, 다른 도구들이 JDK 위치를 찾는 데 사용한다.
- PATH에 %JAVA_HOME%/bin을 추가해야 터미널 어디서든 java, javac 명령어를 실행할 수 있다.
JDK 21 설치 및
환경변수 설정
Java 프로그램을 컴파일하고 실행하기 위한 개발 도구 모음을 설치하고, 어디서든 java와 javac 명령어를 실행할 수 있는 환경을 구축한다.
JDK란 무엇인가?
1-1-1. JDK의 정의
JDK(Java Development Kit)는 Java 애플리케이션을 개발하기 위해 필요한 모든 도구를 하나로 묶어 제공하는 소프트웨어 패키지이다. 단순히 Java 프로그램을 "실행"하는 것뿐만 아니라, 소스 코드를 작성하고, 컴파일하고, 디버깅하고, 패키징하는 전 과정에 필요한 도구가 포함되어 있다.
| 구성 요소 | 역할 | 대표 파일 |
|---|---|---|
| Java 컴파일러 | .java 소스를 .class 바이트코드로 변환 | javac |
| JVM | 바이트코드를 해석·실행하는 가상 머신 | java |
| 표준 라이브러리 (Java SE API) | 문자열, 컬렉션, I/O, 네트워크 등 제공 | 모듈 시스템 |
| 디버거 | 프로그램 실행 중 상태를 추적 | jdb |
| 문서 생성기 | 주석으로부터 API 문서 생성 | javadoc |
| 아카이브 도구 | 클래스 파일을 .jar로 묶음 | jar |
JDK 21 구성 요소 인포그래픽

1-1-2. JDK vs JRE vs JVM — 개념 비교
Java 생태계에서 자주 혼동되는 세 가지 개념이 있다. 이들은 포함 관계로 이루어져 있다.
JVM (Java Virtual Machine)은 가장 안쪽에 위치하는 핵심 엔진이다. 컴파일된 바이트코드(.class 파일)를 읽어 해당 운영체제에 맞는 기계어로 변환하여 실행한다. JVM 덕분에 Java는 "Write Once, Run Anywhere" 철학을 실현한다.
JRE (Java Runtime Environment)는 JVM을 포함하면서, Java 프로그램 실행에 필요한 표준 라이브러리와 기타 런타임 파일을 함께 묶은 환경이다. 다만 JDK 11부터는 JRE가 별도로 배포되지 않고, JDK에 통합되었다.
JDK (Java Development Kit)는 가장 바깥쪽으로, JRE 전체를 포함하면서 컴파일러, 디버거, 문서 생성기 등 개발 도구를 추가로 제공한다.
JDK ⊃ JRE ⊃ JVM 포함 관계

배포판 선택과 다운로드
1-1-3. JDK 배포판의 종류
Java는 오픈 소스 프로젝트인 OpenJDK를 기반으로 하며, 여러 벤더가 이를 빌드하여 배포한다. 어떤 배포판을 선택하든 핵심 기능은 동일하지만, 지원 정책과 라이선스가 다르다.
| 배포판 | 제공사 | 라이선스 | 특징 |
|---|---|---|---|
| Oracle JDK | Oracle | NFTC (무료) / 상용 | 가장 공식적인 배포판 |
| Eclipse Temurin | Eclipse Foundation | GPLv2+CE (무료) | 커뮤니티 기반 인기 빌드 |
| Amazon Corretto | Amazon | GPLv2+CE (무료) | AWS 환경 최적화, LTS |
| Azul Zulu | Azul Systems | GPLv2+CE (무료) | 다양한 플랫폼 지원 |
| GraalVM | Oracle | GPLv2+CE (무료) | 네이티브 이미지, 다국어 지원 |
1-1-4. JDK 21 다운로드 방법
Oracle 공식 사이트(oracle.com/java/technologies/downloads)에서 Java 21 탭을 선택하고 OS에 맞는 설치 파일을 다운로드하거나, 아래 패키지 매니저를 사용한다.
Oracle JDK 다운로드 페이지 JDK 21 탭

JDK 21 설치 (운영체제별)
1-1-5 ~ 1-1-7. 운영체제별 설치 가이드
다운로드한 .exe 파일을 실행하면 설치 마법사가 시작된다. 기본 설치 경로는 아래와 같다.
Windows JDK 설치 마법사

설치 확인:
환경변수 설정 — JAVA_HOME
1-1-8. JAVA_HOME이란?
JAVA_HOME은 JDK가 설치된 루트 디렉토리의 경로를 담는 환경변수이다. Java 자체를 위한 것이 아니라, Maven, Gradle, IntelliJ IDEA, Tomcat 등 Java를 사용하는 다른 도구가 JDK 위치를 찾기 위해 참조하는 규약이다.
JAVA_HOME은 bin 폴더의 상위 폴더를 가리켜야 한다. C:\...\jdk-21\bin이 아니라 C:\...\jdk-21이다.1-1-9 ~ 1-1-11. 운영체제별 JAVA_HOME 설정
GUI 방식
Win + R→sysdm.cpl실행- 고급 탭 → 환경 변수 클릭
- 시스템 변수 → 새로 만들기 클릭
| 항목 | 값 |
|---|---|
| 변수 이름 | JAVA_HOME |
| 변수 값 | C:\Program Files\Java\jdk-21 |
Windows 새 시스템 변수 대화상자

CLI 방식
setx로 설정한 환경변수는 새로 열리는 명령 프롬프트부터 적용된다. 현재 창에서는 반영되지 않으므로 재시작이 필요하다.환경변수 설정 — PATH
1-1-12. PATH란 무엇인가?
PATH는 운영체제가 실행 가능한 프로그램을 찾는 디렉토리 목록을 담는 환경변수이다. 터미널에서 java라고 입력하면, OS는 PATH에 등록된 디렉토리들을 순서대로 탐색하며 해당 실행 파일을 찾는다.
PATH 환경변수 동작 원리

1-1-13 ~ 1-1-14. 운영체제별 PATH 설정
GUI 방식
- 시스템 속성 → 환경 변수 → 시스템 변수에서 Path 선택 → 편집
- 새로 만들기 클릭 후 아래 값 입력
Windows PATH 편집 대화상자

%JAVA_HOME%\bin으로 입력하면, 나중에 JDK 버전을 변경할 때 JAVA_HOME 값만 바꾸면 PATH도 자동으로 반영된다.설치 및 환경변수 최종 검증
1-1-15. 전체 검증 체크리스트
아래 명령어들을 새 터미널 창에서 실행하여 모든 설정이 올바른지 확인한다.
① JAVA_HOME 확인
② java / javac 버전 확인
③ 간단한 프로그램으로 최종 테스트
터미널에서 Java 프로그램 컴파일·실행 결과

java HelloJDK21.java로 컴파일 없이 바로 실행도 가능하다. 간단한 테스트 시 유용하다.자주 발생하는 문제와 해결
1-1-16. 트러블슈팅 가이드
원인: PATH에 JRE의 bin은 등록되어 있지만, JDK의 bin은 등록되지 않은 경우.
원인: PATH에서 이전 버전 JDK 경로가 21보다 먼저 등록되어 있음.
Maven 등은 내부적으로 %JAVA_HOME%\bin\java를 조합하므로, \bin이 포함되면 jdk-21\bin\bin\java를 찾게 되어 실패한다.
원인: macOS Catalina 이후 기본 쉘이 bash → zsh로 변경됨. ~/.bash_profile에 설정했다면 ~/.zshrc로 옮겨야 한다.
핵심 요약 및 학습 확인
1-1-17. 전체 흐름 요약
JDK 21 설치 전체 프로세스 플로우차트

JDK 개념 이해
JDK ⊃ JRE ⊃ JVM 개발자는 반드시 JDK 설치
다운로드 & 설치
Oracle JDK 또는 Temurin OS에 맞는 설치 파일
JAVA_HOME 설정
JDK 루트 디렉토리 경로 bin 폴더 제외!
PATH 설정
%JAVA_HOME%\bin 추가 어디서든 java 실행
검증
java / javac -version 테스트 프로그램 실행
1-1-18. 학습 확인 문제
Q1. JDK, JRE, JVM의 포함 관계를 올바르게 나타낸 것은?
Q2. JAVA_HOME 환경변수의 올바른 값은?
Q3. 아래 에러의 원인으로 가장 적절한 것은?'javac'은(는) 내부 또는 외부 명령...이 아닙니다.
Q4. macOS에서 아래 명령어의 역할은?export PATH=$JAVA_HOME/bin:$PATH"