본문으로 건너뛰기

Ch 1.2 자바 개발 환경 구축

자바 개발을 시작하기 위해서는 크게 두 가지가 필요합니다. 코드를 기계어로 번역해주는 JDK 와 코드를 편리하게 작성하게 해주는 IDE 입니다. 이 챕터에서는 JDK 21 설치부터 첫 프로그램 실행까지 단계별로 안내합니다.


1. JDK란?​

JDK(Java Development Kit) 는 자바 프로그램을 개발하고 실행하는 데 필요한 도구들의 모음입니다.

도구역할
javac소스코드(.java)를 바이트코드(.class)로 컴파일
javaJVM을 실행하여 .class 파일 실행
javadoc소스코드 주석으로부터 HTML 문서 생성
jar여러 .class 파일을 하나의 .jar 파일로 묶음
jdb자바 디버거

JDK 배포판 선택​

자바는 유료 버전(Oracle JDK)과 무료 버전(OpenJDK)이 있습니다. 학습 및 개인 프로젝트에는 무료 OpenJDK 기반 배포판 을 권장합니다.

배포판제공사특징
OpenJDKOracle공식 오픈소스 구현체
Amazon CorrettoAmazonAWS 최적화, 무료 장기 지원
Eclipse TemurinEclipse FoundationAdoptium 프로젝트, 가장 많이 사용
Azul ZuluAzul다양한 플랫폼 지원
GraalVMOracle네이티브 이미지 컴파일 지원
팁

학습용으로는 Eclipse Temurin 21 LTS 또는 Amazon Corretto 21 LTS 를 권장합니다. 둘 다 무료이며 장기 지원이 보장됩니다.


2. JDK 21 설치​

2.1 Windows 설치​

방법 1: 공식 설치 파일 사용 (권장)

  1. Eclipse Temurin 다운로드 페이지 접속
  2. Java 21 (LTS) 선택 후 Windows x64 .msi 다운로드
  3. 다운로드된 .msi 파일 실행
  4. 설치 옵션에서 "Set JAVA_HOME variable" 과 "Add to PATH" 체크 확인
  5. 설치 완료 후 명령 프롬프트(cmd) 재시작

방법 2: winget (Windows Package Manager) 사용

# PowerShell 또는 cmd에서 실행
winget install EclipseAdoptium.Temurin.21.JDK

설치 확인:

java -version
javac -version

출력 예시:

openjdk version "21.0.2" 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
javac 21.0.2

2.2 macOS 설치​

방법 1: Homebrew 사용 (권장)

# Homebrew 설치 (없는 경우)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Temurin JDK 21 설치
brew install --cask temurin@21

# 설치 확인
java -version
javac -version

방법 2: 공식 설치 파일 사용

  1. Eclipse Temurin 다운로드 페이지 접속
  2. Java 21 (LTS) 선택 후 macOS aarch64 (M1/M2/M3) 또는 x64 (Intel) 선택
  3. .pkg 파일 다운로드 후 실행
  4. 화면 안내에 따라 설치 완료

여러 버전 관리 (SDKMAN):

# SDKMAN 설치
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

# Java 21 설치
sdk install java 21.0.2-tem

# 설치된 버전 목록 확인
sdk list java

# 버전 전환
sdk use java 21.0.2-tem

2.3 Linux (Ubuntu/Debian) 설치​

# 패키지 목록 업데이트
sudo apt update

# Temurin 저장소 추가
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | \
sudo tee /etc/apt/keyrings/adoptium.asc

echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] \
https://packages.adoptium.net/artifactory/deb \
$(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | \
sudo tee /etc/apt/sources.list.d/adoptium.list

sudo apt update

# JDK 21 설치
sudo apt install temurin-21-jdk

# 설치 확인
java -version
javac -version

여러 JDK 버전이 있을 때 전환:

sudo update-alternatives --config java

3. 환경 변수 설정 (JAVA_HOME)​

JAVA_HOME은 JDK 설치 경로를 가리키는 환경 변수입니다. Maven, Gradle 등 많은 도구가 이 변수를 참조합니다.

3.1 Windows 환경 변수 설정​

GUI 방법:

  1. 윈도우 키 + R → sysdm.cpl 입력 후 엔터
  2. 고급 탭 → 환경 변수 버튼 클릭
  3. 시스템 변수에서 새로 만들기 클릭
    • 변수 이름: JAVA_HOME
    • 변수 값: C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot (실제 설치된 경로 확인 필요)
  4. 시스템 변수에서 Path 선택 → 편집→ 새로 만들기
    • %JAVA_HOME%\bin 추가
  5. 모든 창 확인(OK) 후 cmd를 재시작

PowerShell 방법 (관리자 권한 필요):

# JAVA_HOME 설정
[System.Environment]::SetEnvironmentVariable(
"JAVA_HOME",
"C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot",
"Machine"
)

# PATH에 추가
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", "Machine")
[System.Environment]::SetEnvironmentVariable(
"Path",
"$currentPath;%JAVA_HOME%\bin",
"Machine"
)

설정 확인:

echo %JAVA_HOME%
# C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot

java -version

3.2 macOS 환경 변수 설정​

# JDK 설치 경로 확인
/usr/libexec/java_home -v 21

# ~/.zshrc 또는 ~/.bash_profile에 추가
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 21)' >> ~/.zshrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc

# 설정 적용
source ~/.zshrc

# 확인
echo $JAVA_HOME
java -version

3.3 Linux 환경 변수 설정​

# JDK 설치 경로 확인
which java
readlink -f $(which java)
# 예: /usr/lib/jvm/temurin-21-amd64/bin/java

# ~/.bashrc 또는 ~/.profile에 추가
echo 'export JAVA_HOME=/usr/lib/jvm/temurin-21-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc

# 설정 적용
source ~/.bashrc

# 확인
echo $JAVA_HOME
java -version

4. IDE 설치 및 설정​

4.1 IntelliJ IDEA Community 설치 (권장)​

IntelliJ IDEA는 현대 자바 개발에서 가장 대중적으로 사용되는 IDE입니다.

버전가격주요 기능
Community무료Java, Kotlin, 일반 개발
Ultimate유료웹 프레임워크, DB, Spring 전용 기능
팁

학습 목적이라면 Community 버전으로 충분합니다. 학생 이메일이 있다면 JetBrains Student License로 Ultimate 버전을 무료로 사용할 수 있습니다.

설치 단계:

  1. JetBrains 다운로드 접속
  2. Community 탭에서 운영체제에 맞는 설치 파일 다운로드
  3. 설치 파일 실행 후 기본 옵션으로 설치

첫 번째 프로젝트 생성:

  1. IntelliJ IDEA 실행 → New Project 클릭
  2. Java 선택
  3. JDK 항목에서 설치한 JDK 21 선택 (없으면 Download JDK 클릭)
  4. 프로젝트명 입력: HelloJava
  5. 저장 위치 선택 후 Create 클릭
  6. src 폴더 우클릭 → New→ Java Class
  7. 클래스명: HelloWorld 입력
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, IntelliJ IDEA!");
}
}
  1. 에디터 왼쪽 초록색 삼각형(▶) 클릭 또는 Shift + F10 으로 실행

IntelliJ 필수 단축키:

단축키기능
psvm + Tabpublic static void main(String[] args) 자동 완성
sout + TabSystem.out.println() 자동 완성
Shift + F10프로그램 실행
Shift + F9디버그 모드 실행
Ctrl + Space코드 자동 완성
Alt + Enter빠른 수정 제안
Ctrl + /한 줄 주석 토글
Ctrl + Shift + F전체 검색

4.2 VS Code + Extension Pack for Java​

VS Code도 적절한 확장을 설치하면 강력한 자바 IDE로 활용할 수 있습니다.

설치 단계:

  1. VS Code 다운로드 및 설치
  2. VS Code 실행 후 Extensions 탭 (Ctrl + Shift + X)
  3. "Extension Pack for Java" 검색 후 설치
    • 이 팩에는 Language Support for Java, Debugger for Java, Maven for Java 등이 포함됨
  4. 명령 팔레트 (Ctrl + Shift + P) → Java: Create Java Project 실행
  5. 프로젝트 타입 선택: No build tools(초보자 권장)
  6. 프로젝트 저장 위치 선택 후 프로젝트명 입력

VS Code settings.json 권장 설정:

{
"java.home": "C:/Program Files/Eclipse Adoptium/jdk-21.0.2.13-hotspot",
"editor.formatOnSave": true,
"editor.tabSize": 4,
"files.autoSave": "onFocusChange"
}

5. 첫 번째 프로그램: Hello World​

IDE 없이 터미널만으로 자바 프로그램을 작성하고 실행해봅니다. 이 과정을 이해하면 자바의 동작 원리를 명확히 파악할 수 있습니다.

5.1 소스 파일 작성​

임의의 디렉토리에 Hello.java 파일을 생성합니다.

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
System.out.println("자바 프로그래밍을 시작합니다!");
}
}
경고

파일명은 반드시 클래스명과 동일해야 합니다. 클래스명이 Hello이면 파일명은 Hello.java여야 합니다. 대소문자도 구분합니다.

5.2 컴파일​

터미널에서 파일이 있는 디렉토리로 이동 후 컴파일합니다.

# 파일 저장 디렉토리로 이동
cd C:\Users\사용자명\Desktop\java_practice

# 컴파일 (Hello.java → Hello.class 생성)
javac Hello.java

# 컴파일 성공 시 Hello.class 파일 생성 확인
dir # Windows
ls -la # macOS/Linux

컴파일이 성공하면 오류 메시지 없이 Hello.class 파일이 생성됩니다.

5.3 실행​

# .class 확장자 없이 클래스명만 입력
java Hello

출력:

Hello, World!
자바 프로그래밍을 시작합니다!
노트

java 명령에는 파일명(Hello.java)이 아닌 클래스명(Hello) 을 입력합니다. .class 확장자도 붙이지 않습니다.


6. 패키지 선언과 디렉토리 구조​

자바의 패키지(package)는 클래스를 체계적으로 관리하는 네임스페이스입니다. 패키지 이름과 디렉토리 구조는 반드시 일치해야 합니다.

src/
└── com/
└── example/
└── myapp/
├── Main.java
└── util/
└── Helper.java
// 파일 위치: src/com/example/myapp/Main.java
package com.example.myapp; // 패키지 선언 (최상단에 위치)

import com.example.myapp.util.Helper; // 다른 클래스 임포트

public class Main {
public static void main(String[] args) {
System.out.println("패키지 구조 예제");
Helper.sayHello();
}
}

패키지가 있는 파일 컴파일 및 실행:

# src 디렉토리에서 실행
javac com/example/myapp/Main.java com/example/myapp/util/Helper.java

# 패키지 전체 경로로 실행
java com.example.myapp.Main

7. 빌드 도구 미리보기 (Maven & Gradle)​

실제 프로젝트에서는 javac를 직접 사용하는 대신 빌드 도구 를 사용합니다.

Maven​

XML 기반 빌드 도구입니다. pom.xml 파일로 의존성과 빌드 설정을 관리합니다.

<!-- pom.xml 기본 구조 -->
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>

<properties>
<java.version>21</java.version>
</properties>

<dependencies>
<!-- 외부 라이브러리 의존성 -->
</dependencies>
</project>

Gradle​

Groovy 또는 Kotlin DSL 기반의 현대적 빌드 도구입니다.

// build.gradle (Groovy DSL)
plugins {
id 'java'
}

java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}

dependencies {
// 외부 라이브러리 의존성
}

빌드 도구 비교:

특성MavenGradle
설정 방식XML (pom.xml)Groovy/Kotlin (build.gradle)
성능보통빠름 (증분 빌드, 캐시)
학습 곡선낮음보통
사용 사례Spring 레거시, 엔터프라이즈Android, Spring Boot 신규 프로젝트

8. 자주 발생하는 설치 오류 및 해결법​

오류 1: 'java'은(는) 내부 또는 외부 명령이 아닙니다​

원인: PATH 환경 변수에 JDK bin 디렉토리가 없음

해결:

# Windows: 시스템 속성 → 환경 변수 → Path에 추가
%JAVA_HOME%\bin

# 또는 직접 경로 입력
C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot\bin

오류 2: JAVA_HOME is not set​

원인: 빌드 도구(Maven, Gradle)가 JAVA_HOME 환경 변수를 찾지 못함

해결:

# Windows
setx JAVA_HOME "C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot"

# macOS/Linux (~/.zshrc 또는 ~/.bashrc에 추가)
export JAVA_HOME=/usr/lib/jvm/temurin-21

오류 3: Error: Could not find or load main class​

원인 1: 패키지 선언이 있는 경우 잘못된 위치에서 실행

# 잘못된 실행 (패키지가 있는 경우)
java HelloWorld

# 올바른 실행
java com.example.HelloWorld # 소스 루트에서 실행

원인 2: .class 확장자를 붙여서 실행

# 잘못된 실행
java Hello.class

# 올바른 실행
java Hello

오류 4: error: class HelloWorld is public, should be declared in a file named HelloWorld.java​

원인: 파일명과 public 클래스명 불일치

해결: 파일명을 클래스명과 동일하게 변경 (대소문자 포함)

오류 5: UnsupportedClassVersionError​

Error: LinkageError occurred while loading main class Hello
java.lang.UnsupportedClassVersionError: Hello has been compiled by a more
recent version of the Java Runtime (class file version 65.0), this version
of the Java Runtime only recognizes class file versions up to 55.0

원인: 컴파일 JDK 버전 > 실행 JRE 버전 (예: Java 21로 컴파일 후 Java 11로 실행)

해결: 실행 환경의 자바 버전을 컴파일 버전 이상으로 업그레이드


9. 개발 환경 점검 체크리스트​

설치가 완료되면 아래 항목을 모두 확인하세요.

# 1. JDK 버전 확인
java -version
# → openjdk version "21.x.x" 출력 확인

# 2. 컴파일러 버전 확인
javac -version
# → javac 21.x.x 출력 확인

# 3. JAVA_HOME 확인
echo %JAVA_HOME% # Windows
echo $JAVA_HOME # macOS/Linux
# → JDK 설치 경로 출력 확인

# 4. 간단한 프로그램 컴파일 및 실행 테스트
echo public class Test { public static void main(String[] a) { System.out.println("OK"); } } > Test.java
javac Test.java && java Test
# → OK 출력 확인

모든 항목이 정상이라면 개발 환경 구축이 완료된 것입니다!

팁

IntelliJ IDEA를 사용한다면 IDE가 JDK를 자동으로 감지합니다. File → Project Structure (Ctrl + Alt + Shift + S) → Project SDK 에서 설치한 JDK 21이 선택되어 있는지 확인하세요.


요약​

단계내용
1단계JDK 21 LTS 다운로드 및 설치 (Eclipse Temurin 권장)
2단계JAVA_HOME 환경 변수 및 PATH 설정
3단계java -version, javac -version으로 설치 확인
4단계IDE 설치 (IntelliJ IDEA Community 권장)
5단계첫 번째 Hello World 프로그램 작성, 컴파일, 실행