Daps 학습 허브

언어 학습과 이론 학습을
더 체계적으로 이어보세요

학습 언어와 이론 카테고리를 대분류, 중분류, 소분류로 나눠서 더 쉽게 탐색할 수 있도록 정리한 화면입니다. 처음 배우는 분도 지금 어떤 영역을 보고 있는지 헷갈리지 않도록 구조를 단순하게 구성했습니다.

학습 구조

대 · 중 · 소분류

학습 트랙

언어 + 이론

학습 단계

입문 · 기초 · 중급

학습 안내

원하는 학습을
더 빠르게 찾을 수 있게 정리했습니다

언어 학습은 대분류 → 중분류 → 소분류 순서로 나뉘어, 학습 방향을 더 쉽게 잡을 수 있습니다.
이론 / 개념도 컴퓨터공학, 웹/백엔드, 인프라 기준으로 나누어 필요한 개념을 빠르게 찾을 수 있습니다.
기존 옆에 있던 선택 패널을 모두 상단으로 올려서, 아래 영역은 상세 학습 내용에 더 집중하도록 바꿨습니다.
🗺️

로드맵으로 체계적으로 학습해보세요

목표에 맞는 학습 로드맵을 선택하고, 정해진 순서대로 학습하면서 진행률과 현재 학습 위치를 관리할 수 있습니다.

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 등 주요 기능이 정식 포함되었다.
B-1-1초급 · Java 개발 환경 구성

Java 소개와
JDK 21 설치

JVM의 WORA(Write Once, Run Anywhere) 원리를 이해하고, JDK 21을 설치하여 JAVA_HOME과 IDE를 구성하는 개발 환경을 완성한다.

JVMWORAJDK 21JAVA_HOMEIntelliJVS Code
1

Java란 무엇인가?

1-1-1. Java의 탄생과 철학

Java는 1995년 Sun Microsystems가 발표한 객체지향 프로그래밍 언어이다. 당시 가장 큰 문제였던 "플랫폼마다 다시 컴파일해야 하는 문제"를 해결하기 위해, Java는 소스 코드를 특정 CPU의 기계어가 아닌 바이트코드(Bytecode)로 컴파일한 뒤, 각 플랫폼에 설치된 JVM이 이를 해석·실행하는 방식을 채택했다.

이 철학을 한 문장으로 요약한 것이 바로 "Write Once, Run Anywhere" (WORA)이다. 한 번 작성하고 컴파일한 .class 파일은 Windows, macOS, Linux 어디서든 동일하게 실행된다.

IMAGE-1

WORA 원리 — 컴파일과 실행의 분리

WORA 원리 — 컴파일과 실행의 분리

1-1-2. JDK, JRE, JVM의 관계

세 용어는 포함 관계로 이해하면 쉽다. JVM은 바이트코드를 실행하는 가상 머신이고, JRE는 JVM에 표준 라이브러리를 더한 실행 환경이며, JDK는 JRE에 컴파일러(javac) 등 개발 도구를 더한 개발 키트이다.

구성 요소포함 범위용도
JVM바이트코드 실행 엔진만프로그램 실행
JREJVM + 표준 라이브러리실행 전용 배포 환경(현재는 거의 미사용)
JDKJRE + 컴파일러/디버거/문서화 도구개발자가 반드시 설치해야 함
💡 핵심 정리
JDK 11부터는 JRE가 별도로 배포되지 않는다. 개발이든 실행이든 JDK를 설치하면 모든 기능을 사용할 수 있다.
2

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 82014LTS람다, 스트림 API 도입
JDK 112018LTSJRE 배포 중단
JDK 172021LTSSealed Class, Record 정식화
JDK 212023LTSVirtual Thread, Record Pattern

1-2-2. 배포판 선택 — Oracle JDK vs OpenJDK

JDK는 여러 회사가 OpenJDK 소스를 기반으로 빌드하여 배포한다. 학습용으로는 Eclipse Temurin(무료·오픈소스)을 권장하며, Oracle JDK는 상업적 사용 시 라이선스 조건을 반드시 확인해야 한다.

3

JDK 21 설치 (OS별)

1-3-1. Windows 설치

코드 하이라이트 불러오는 중...

1-3-2. macOS 설치

코드 하이라이트 불러오는 중...

1-3-3. Linux 설치

코드 하이라이트 불러오는 중...
IMAGE-2

OS별 JDK 설치 경로 비교

OS별 JDK 설치 경로 비교
4

JAVA_HOME 환경변수 설정

1-4-1. JAVA_HOME이 필요한 이유

Maven, Gradle 같은 빌드 도구와 각종 IDE는 어떤 JDK를 사용할지 판단하기 위해 JAVA_HOME 환경변수를 참조한다. 이 값은 JDK가 설치된 루트 디렉토리를 가리켜야 하며, bin 폴더까지 포함하면 안 된다.

코드 하이라이트 불러오는 중...
⚠️ 주의
Windows에서는 시스템 속성 → 환경 변수 → 시스템 변수에서 JAVA_HOME을 새로 만들고, PATH 변수에 %JAVA_HOME%\bin을 추가해야 한다. 설정 후에는 반드시 새 터미널을 열어야 반영된다.
5

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오래된 전통, 무료, 플러그인 풍부레거시 프로젝트 유지보수
IMAGE-3

IntelliJ IDEA 프로젝트 SDK 설정 화면

IntelliJ IDEA 프로젝트 SDK 설정 화면

1-5-2. 최종 검증

코드 하이라이트 불러오는 중...
6

트러블슈팅

문제 1'java'은(는) 내부 또는 외부 명령이 아닙니다

원인: PATH 환경변수에 JDK의 bin 디렉토리가 등록되지 않았거나, 변경 후 터미널을 재시작하지 않았다.

코드 하이라이트 불러오는 중...
문제 2여러 버전의 JDK가 충돌한다

원인: 과거에 설치한 JDK 8, 11 등이 PATH에 먼저 등록되어 새로 설치한 JDK 21보다 우선순위가 높다.

코드 하이라이트 불러오는 중...
문제 3IDE가 JDK 21을 인식하지 못한다

원인: IDE 내부에 등록된 SDK 목록에 새로 설치한 JDK 경로가 추가되지 않았다. IntelliJ 기준 File → Project Structure → SDKs에서 "+" 버튼으로 JDK 설치 경로를 직접 추가해야 한다.

7

핵심 요약 및 학습 확인

1-7-1. 전체 흐름 요약

IMAGE-4

Java 개발 환경 구성 전체 흐름

Java 개발 환경 구성 전체 흐름
1

Java 철학

WORA 원리 바이트코드 + JVM

2

JDK ⊃ JRE ⊃ JVM

개발자는 JDK 필수 설치 JDK 11+ 부터 JRE 별도 배포 안함

3

JDK 21 LTS

Virtual Thread, Record Pattern 장기 지원 버전

4

JAVA_HOME

JDK 루트 디렉토리 경로 bin 폴더 제외!

5

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'은(는) 내부 또는 외부 명령... 이 아닙니다