C
Java/환경/Lesson 02

Java 환경 세팅 — IntelliJ 에서 Hello World 까지

30분·theory

Java 환경 세팅 — IntelliJ 에서 Hello World 까지

🎯 이 lesson 을 읽고 나면

이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.

  • ✅ JDK 17 LTS + IntelliJ Community 까지 환경 세팅 끝까지
  • ✅ Maven vs Gradle 선택 기준 한 줄 답변
  • ✅ .class / .jar 파일이 무엇이고 JVM 과 어떻게 연결되는지 설명

학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.

JDK 설치 — Java 17 LTS 기준

Java 를 돌리려면 세 가지 가 필요합니다

  • JDK (Java Development Kit) — 개발용 풀세트. 컴파일러 (javac) + 실행기 (java) + 표준 라이브러리.
  • JRE (Java Runtime Environment) — 실행만 하는 사람용. JDK 안에 포함.
  • JVM (Java Virtual Machine)실제로 코드를 돌리는 가상 머신. 운영체제별로 다릅니다.

개발자는 JDK 만 받으면 됩니다. JRE·JVM 은 그 안에 들어있어요.

어떤 버전을 받아야 하나

Java 17 LTS 가 2026년 현재 가장 안전한 선택 입니다. LTS = Long Term Support, 8년 지원. 실무 채택률 1위.

  • Java 8: 너무 옛날. 새 프로젝트에 쓰지 마세요.
  • Java 11: 직전 LTS. 줄어드는 추세.
  • Java 17: 현재 표준. Spring Boot 3.x 최소 요구사항.
  • Java 21: 최신 LTS. 신생 프로젝트면 OK, 학습용은 17 권장.

설치 — Adoptium Temurin

Oracle 공식 JDK 는 상용 라이선스 이슈 가 있어 실무에선 거의 안 씁니다. 대신 OpenJDK 무료 배포판 인 Adoptium Temurin 을 받으세요.

1. https://adoptium.net 접속
2. Temurin 17 (LTS) → 자신의 OS 선택 (Windows/Mac/Linux)
3. .msi (Windows) 또는 .pkg (Mac) 다운로드 → 실행
4. 설치 마법사 기본 옵션 그대로 진행 (PATH 자동 등록 체크 확인)

설치 확인

터미널/CMD 열고:

bash
java -version
javac -version

둘 다 17.x.x 가 나오면 성공. javac 가 없다고 나오면 JRE 만 깔린 것 — JDK 를 다시 받으세요.

IntelliJ IDEA 설치 — 무료 Community 버전

왜 IntelliJ 인가

Java 진영의 사실상 표준 IDE. 실무 채택률 압도적 1위. 무료 Community 버전 으로 충분합니다 (Spring·웹은 유료 Ultimate 필요하지만 학생/오픈소스는 무료).

  • Eclipse: 한때 표준이었지만 점유율 하락. 무겁고 UX 가 옛스러움.
  • VS Code + Java 확장: 가볍지만 IntelliJ 만큼의 통합 도구는 없음. 가벼운 작업용.
  • NetBeans: 거의 사용 안 함.

다운로드

1. https://www.jetbrains.com/idea/download/ 접속
2. Community EditionDownload 클릭 (Ultimate 옆에 작게 있습니다)
3. 설치 마법사 진행 — Add Open Folder as Project 체크

첫 프로젝트 만들기

실행 후 New Project → 아래 옵션 선택:

  • Language: Java
  • Build system: IntelliJ (학습용 — Maven/Gradle 은 다음 레슨에서)
  • JDK: 위에서 설치한 Temurin 17 자동 인식됨
  • Project name: hello-java
  • Add sample code 체크 — Main.java 가 자동 생성됩니다

Create 누르면 프로젝트가 열립니다.

첫 실행

자동 생성된 src/Main.java 가 보일 거예요:

java
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello and welcome!");
    }
}

에디터 좌측 여백초록 ▶ 화살표 를 클릭하거나 Shift + F10 — 하단 Run 창에 Hello and welcome! 이 출력됩니다.

축하합니다 — Java 프로그램을 처음 실행한 순간입니다.

Maven vs Gradle — 한 줄로 정리

빌드 도구가 왜 필요한가

실제 프로젝트는 수백 개의 외부 라이브러리 에 의존합니다. 손으로 다운받아 폴더에 넣고 클래스패스 에 등록하면 — 미친 짓이죠. 빌드 도구 가 이걸 자동화합니다.

빌드 도구는 4가지를 합니다:
1. 의존성 관리 — 라이브러리 자동 다운로드·버전 관리
2. 컴파일javac 호출 + 옵션 통일
3. 테스트 실행 — JUnit 등 자동 실행
4. 패키징.jar 또는 .war 로 묶기

두 선택지

  • Maven — XML (pom.xml) 으로 설정. 2004년 등장. 전통의 표준. 큰 기업·레거시 프로젝트에 많음. "규약 우선 (Convention over Configuration)".
  • Gradle — Groovy/Kotlin DSL (build.gradle.kts) 으로 설정. Spring Boot 신규 프로젝트의 기본값. 더 빠르고 유연. Android 표준.

한 줄 결론: Spring Boot 학습이면 Gradle, 기존 회사 코드가 Maven 이면 Maven. 둘 다 알아두면 좋지만 신규는 Gradle 선택.

Maven pom.xml 예시

xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>3.2.0</version>
</dependency>

Gradle build.gradle.kts 예시

kotlin
dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web:3.2.0")
}

같은 의존성을 Gradle 이 훨씬 짧게 표현합니다. 그래서 큰 프로젝트일수록 Gradle 선호도가 올라갑니다.

.class · .jar 파일 — 컴파일 결과물의 정체

소스 → 바이트코드 → 실행

Java 의 2단계 실행 모델 을 이해해야 빌드 결과물이 무엇인지 알 수 있습니다.

1. .java (소스) — 우리가 쓴 텍스트 코드
2. .class (바이트코드) — javac 가 컴파일한 JVM 이 읽을 수 있는 형식
3. JVM 이 .class 를 실행 — OS 에 따라 적절한 기계어로 그때그때 변환

code
[사람]     [컴파일러]    [실행기]
Main.java → Main.class → JVM (java Main)

.class 의 내부

텍스트가 아닌 바이너리 입니다. 사람이 읽을 수는 없지만 javap -c Main.class역어셈블 해서 볼 수 있어요.

파일 1개 = 클래스 1개. Main.java 안에 class A, class B 가 있으면 → A.class, B.class 두 개 가 나옵니다.

.jar — Java Archive

수십·수백 개의 .class하나로 묶은 ZIP 형식 파일. 배포·실행 단위입니다.

bash
java -jar myapp.jar

이 한 줄이 수백 개의 .class + 라이브러리 를 모두 로드해 프로그램을 시작합니다.

정리

확장자정체누가 만드나
.java소스 코드사람
.class바이트코드 (JVM 용)javac 컴파일러
.jar클래스 묶음 (배포용)jar 도구 또는 빌드툴
.war웹 앱 묶음 (.jar + 웹 설정)빌드툴

다음 챕터에서 변수와 자료형 부터 본격 학습을 시작합니다.

🤖 AI 에게 이렇게 요청해보세요

이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.

  • "Java 17 + IntelliJ Community 기준 Hello World 프로젝트 만들어줘"
  • "이 프로젝트의 Maven pom.xml 을 Gradle build.gradle.kts 로 변환해줘"
  • "JAVA_HOME 환경변수가 인식 안 되는데 OS 별로 설정법 알려줘"

왜 이게 토큰을 줄이나

개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.

먼저 읽으면 좋은 개념: Java
Java 환경 세팅 — IntelliJ 에서 Hello World 까지 - Java