Skip to main content

JAVA란 무엇인가: 언어의 특징과 개발 환경 준비

처음 프로그래밍을 배우려는 사람에게 Java는 꽤 든든한 출발점이다. 유행만 타고 지나가는 언어가 아니라, 오랫동안 산업 현장에서 검증되었고 지금도 계속 발전하고 있기 때문이다. Java를 배우면 단순히 문법 하나를 익히는 데서 끝나지 않는다. 프로그램을 어떻게 구조적으로 만들고, 오류를 어떻게 다루고, 여러 환경에서 안정적으로 실행되게 만드는지까지 함께 배우게 된다.

이 챕터에서는 Java가 왜 중요한 언어인지, Java의 핵심 철학이 무엇인지, 그리고 개발을 시작하려면 무엇을 설치해야 하는지 한 번에 정리한다. 쉽게 말해, 앞으로의 학습 여행을 위한 지도와 신발을 동시에 챙기는 시간이다.

JAVA란 무엇인가: 언어의 특징과 개발 환경 준비

왜 Java를 배우는가

Java는 객체지향을 중심에 둔 고급 언어이며, 플랫폼 독립성, 안정성, 보안성, 멀티스레딩 지원, 풍부한 표준 라이브러리 같은 장점으로 오랫동안 널리 사용되어 왔다.1 그래서 초보자에게도 좋고, 실무를 준비하는 사람에게도 좋다.

Java를 배우는 이유는 크게 세 가지다.

  • 첫째, 기본기가 잘 잡힌다. Java는 문법이 비교적 엄격한 편이라 변수, 타입, 클래스, 메서드 같은 개념을 흐릿하게 넘기기 어렵다. 처음에는 조금 답답할 수 있지만, 그만큼 기초 체력이 탄탄해진다.

  • 둘째, 사용처가 넓다. 백엔드 서버, 기업용 시스템, 금융, 공공, 데이터 처리, 안드로이드 관련 생태계 등 Java가 쓰이는 분야는 생각보다 넓다.

  • 셋째, 배운 것이 오래 간다. Java는 하위 호환성을 중요하게 여기는 문화가 강해서, 한 번 익힌 지식이 쉽게 사라지지 않는다. 오래 쓸 수 있는 언어라는 뜻이다.

Java를 배우는 일은 마치 튼튼한 공구 상자를 갖추는 일과 비슷하다. 화려한 공구 하나보다, 오래 쓰는 기본 공구가 결국 더 많은 일을 해낸다.

Java의 철학: 한 번 작성하면 어디서나 실행된다

Java를 설명할 때 가장 자주 나오는 문장이 있다. 바로 Write Once, Run Anywhere, 즉 "한 번 작성하면 어디서나 실행된다"는 생각이다.1

이 말이 가능한 이유는 Java 프로그램이 바로 기계어로 실행되지 않기 때문이다. Java 코드는 먼저 바이트코드(bytecode) 라는 중간 형태로 변환되고, 이 바이트코드를 JVM이 각 운영체제에 맞게 실행한다.12

흐름을 아주 단순하게 그려 보면 이렇다.

Java 소스 코드(.java) → 컴파일 → 바이트코드(.class) → JVM이 실행

여기서 중요한 점은 두 가지다.

  • 바이트코드는 운영체제에 덜 묶여 있다.

  • 대신 JVM은 운영체제별로 준비되어 있어야 한다.

그래서 같은 Java 프로그램이라도 Windows, macOS, Linux에서 비슷하게 실행할 수 있다. 개발자 입장에서는 운영체제마다 프로그램을 새로 만들 부담이 줄어든다.

Java는 "느린 언어"라는 오래된 오해를 종종 듣기도 한다. 하지만 실제 Java는 단순히 한 줄씩만 읽는 방식이 아니라, 실행 중 자주 쓰는 코드를 더 빠르게 처리하도록 최적화하는 기술도 사용한다. 그래서 안정성과 생산성을 챙기면서도 충분히 좋은 성능을 낼 수 있다.1

Java의 대표 특징

Java의 특징을 한 문장으로 요약하면 이렇다. 배우기 좋고, 관리하기 좋고, 오래 쓰기 좋은 언어다.1

대표적인 특징을 조금 더 풀어서 보면 다음과 같다.

  • 단순함: C/C++에 있던 복잡한 요소 일부를 덜어내어 초보자가 접근하기 쉽다.

  • 객체지향: 현실의 대상을 클래스와 객체로 표현하며 큰 프로그램을 구조적으로 만들기 좋다.

  • 플랫폼 독립성: JVM 덕분에 운영체제가 달라도 같은 바이트코드를 실행할 수 있다.

  • 견고함과 안정성: 타입 검사, 예외 처리, 자동 메모리 관리 덕분에 위험한 실수를 줄이는 데 도움을 준다.

  • 자동 메모리 관리: 더 이상 쓰지 않는 객체를 정리하는 가비지 컬렉션이 메모리 관리를 돕는다.

  • 멀티스레딩 지원: 여러 작업을 동시에 처리하는 프로그램을 만들기 좋다.

  • 풍부한 표준 라이브러리: 파일 처리, 네트워크, 날짜, 컬렉션 등 자주 필요한 기능이 기본 제공된다.1

처음 배우는 입장에서는 이 특징들이 다소 추상적으로 들릴 수 있다. 괜찮다. 지금은 "Java는 실수에 강하고, 구조를 중시하며, 다양한 환경에서 잘 돌아가도록 설계된 언어" 정도로만 잡아도 충분하다.

JDK, JRE, JVM 차이 한 번에 이해하기

Java를 공부할 때 가장 먼저 헷갈리는 삼총사가 있다. 바로 JDK, JRE, JVM이다. 이름이 비슷해서 처음엔 거의 친척 모임 수준으로 헷갈린다. 하지만 역할만 나누면 생각보다 간단하다.2

구성 요소한마디로 설명핵심 역할
JVM실행 엔진바이트코드를 읽어 실제 컴퓨터에서 실행한다
JRE실행 환경JVM과 실행에 필요한 라이브러리를 제공한다
JDK개발 도구 모음JRE에 더해 컴파일러, 디버거 등 개발 도구를 제공한다

포함 관계는 이렇게 이해하면 된다.

JDK = JRE + 개발 도구 JRE = JVM + 실행용 라이브러리

조금 더 쉬운 비유로 바꿔 보자.

  • JVM은 엔진이다.

  • JRE는 엔진과 주행에 필요한 기본 부품을 갖춘 자동차다.

  • JDK는 자동차에 정비 도구와 제작 도구까지 포함한 공방이다.

우리가 Java를 배우고 개발하려면 보통 JDK만 설치하면 된다. JDK 안에 실행에 필요한 요소도 들어 있기 때문이다.2

또 하나 꼭 기억할 점이 있다. Java의 바이트코드는 플랫폼 독립적이지만, JVM 자체는 운영체제에 맞게 구현된다.2 이 차이를 이해하면 "왜 Java는 어디서나 실행되는데, 설치 파일은 운영체제마다 다른가요?" 같은 질문도 자연스럽게 풀린다.

어떤 Java 버전으로 시작할까

Java는 한 번 만들어지고 끝난 언어가 아니다. 6개월 주기로 계속 발전하며, 새 기능이 꾸준히 추가되고 있다.3 Oracle의 Java SE 사양 페이지를 보면 2026년 기준으로 최신 명세까지 계속 공개되고 있다는 점에서도 Java가 현재진행형 언어라는 사실을 확인할 수 있다.4

하지만 초보자는 최신 버전을 무조건 좇기보다 LTS(Long-Term Support) 버전부터 시작하는 편이 좋다. LTS는 장기 지원 버전이라 학습 자료도 많고, 실무에서도 기준 버전으로 자주 쓰인다. 2026년 학습 기준으로는 Java 21이 널리 추천되는 출발점이다.3

정리하면 이렇게 생각하면 된다.

  • 처음 공부한다면 LTS 버전을 고른다.

  • 수업, 회사, 강의에서 특정 버전을 요구하면 그 버전을 따른다.

  • 문법 기초를 배우는 단계에서는 버전 차이보다 기본 개념 이해가 훨씬 중요하다.

이 책의 앞부분은 전통적인 Java 문법을 중심으로 다루기 때문에, JDK 21 이상이면 무난하게 따라갈 수 있다.

개발 환경 준비: 무엇을 설치하면 될까

이제 실전 준비를 해 보자. Java를 시작하려면 크게 두 가지가 필요하다.

  • JDK: Java를 컴파일하고 실행하기 위한 핵심 도구

  • IDE: 코드를 편하게 작성하고 실행하는 개발 도구

IDE는 여러 가지가 있지만, 초보자라면 IntelliJ IDEA나 Eclipse가 대표적인 선택지다. 이 책에서는 입문자가 비교적 편하게 시작할 수 있는 IntelliJ IDEA를 기준으로 설명하겠다. 기본적인 Java 학습과 실습만 놓고 보면 IntelliJ IDEA Community 버전으로도 충분하다.5

1단계: JDK 설치하기

가장 먼저 JDK를 설치한다. 운영체제에 맞는 설치 파일을 내려받아 설치하면 된다. 설치가 끝났다면 터미널이나 명령 프롬프트를 열고 아래 명령으로 확인해 보자.

java -version
javac -version

여기서 확인할 포인트는 간단하다.

  • java -version은 실행 환경이 보이는지 확인한다.

  • javac -version은 컴파일러가 설치되었는지 확인한다.

둘 다 버전 정보가 출력되면 일단 출발선 통과다. 만약 java는 되는데 javac가 안 된다면, JRE만 있거나 환경 변수가 제대로 잡히지 않았을 가능성이 있다. 초보자 입장에서는 "JDK가 제대로 설치되지 않았구나"라고 먼저 의심하면 된다.

2단계: IntelliJ IDEA 설치하고 첫 실행하기

IntelliJ IDEA를 처음 실행하면 기존 설정을 가져올지 묻는 화면이 나오고, 이후 Welcome 화면에서 새 프로젝트를 만들거나 기존 프로젝트를 여는 흐름으로 시작한다.6

입문자라면 다음 순서로 진행하면 된다.

  1. IntelliJ IDEA를 설치한다.

  2. 처음 실행할 때 설정 가져오기는 건너뛰어도 괜찮다.

  3. Welcome 화면에서 New Project를 선택한다.

  4. 프로젝트 종류에서 Java를 고른다.

  5. 사용할 JDK를 선택한다.

여기서 JDK가 목록에 안 보이면 당황하기 쉽다. 하지만 대부분 IDE 안에서 JDK 경로를 직접 지정하거나, 필요한 JDK를 다운로드하도록 안내해 준다. 즉, "IDE가 JDK를 아직 못 찾았구나"라고 이해하면 된다.

3단계: 첫 Java 프로젝트 만들기

IntelliJ IDEA에서는 새 Java 프로젝트를 만든 뒤, 소스 파일을 추가하고 바로 실행할 수 있다.7 최신 Java에는 더 간단한 시작 방식도 있지만, 이 책에서는 앞으로의 학습을 위해 가장 전통적이고 널리 쓰이는 형태로 시작하겠다.

파일 이름을 Main.java로 만들고 다음 코드를 작성해 보자.

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

그리고 실행 버튼을 누르면 된다. 화면 아래 실행 창에 다음 문장이 보이면 성공이다.

Hello, Java!

이 한 줄은 짧지만 꽤 많은 일을 해낸 결과다.

  • javac가 코드를 바이트코드로 컴파일하고

  • IDE가 실행 설정을 잡아 주고

  • JVM이 그 바이트코드를 실제로 실행한 것이다.27

겉으로는 버튼 한 번 눌렀을 뿐이지만, 사실은 Java 세계의 핵심 구조를 이미 한 번 경험한 셈이다.

첫 실행 과정에서 알아두면 좋은 것들

처음 실행할 때는 코드보다 도구가 더 낯설 수 있다. 다음 정도만 기억해 두면 충분하다.

  • 프로젝트는 작업 폴더 전체를 뜻한다.

  • src 폴더는 Java 소스 코드를 두는 곳이다.

  • 클래스 파일은 보통 public class 이름 형태로 시작한다.

  • main 메서드는 프로그램이 시작되는 입구다.

  • Run 버튼은 컴파일과 실행 과정을 한 번에 처리해 준다.

처음엔 public static void main(String[] args)가 주문처럼 보일 수 있다. 괜찮다. 다음 챕터에서 하나씩 뜯어볼 것이다. 지금은 "프로그램이 시작되는 자리"라는 감각만 잡으면 충분하다.

자주 만나는 설치 문제와 해결 감각

처음 환경 설정에서 막히는 건 전혀 이상한 일이 아니다. 오히려 아주 정상이다. 많이 겪는 경우만 가볍게 정리해 보자.

  • java -version이 안 나오면 JDK 설치 자체를 다시 확인한다.

  • javac -version이 안 나오면 JDK가 아니라 실행 환경만 잡혔을 수 있다.

  • IntelliJ에서 JDK가 안 보이면 프로젝트 설정에서 JDK 경로를 다시 지정한다.

  • 프로그램은 실행되는데 한글이 깨지면 파일 인코딩을 UTF-8로 확인한다.

  • 터미널의 Java 버전과 IDE의 Java 버전이 다르면 프로젝트 설정의 JDK 버전을 맞춘다.

환경 설정은 처음 한 번이 어렵지, 두 번째부터는 훨씬 빨라진다. 그러니 여기서 조금 헤매더라도 "나는 지금 개발자들의 전통 의식 중 하나를 통과하는 중이구나"라고 생각해도 좋다.

이 챕터의 핵심 정리

이제 출발선을 정리해 보자.

Java는 객체지향, 안정성, 플랫폼 독립성을 바탕으로 오랫동안 사랑받아 온 언어다. 핵심 철학은 바이트코드와 JVM을 통해 여러 환경에서 실행될 수 있게 만드는 데 있다. 개발을 위해서는 JDK가 필요하고, JRE와 JVM은 그 안에서 각각 실행 환경과 실행 엔진의 역할을 맡는다. 처음 시작할 때는 LTS 버전을 고르고, IDE는 IntelliJ IDEA 같은 도구를 쓰면 편하다. 그리고 Hello, Java! 한 줄이 출력되었다면, 이미 Java 학습은 성공적으로 출항한 것이다.

다음 챕터에서는 이 출발선 위에서 실제 문법을 하나씩 익히며, Java가 어떤 방식으로 프로그램을 읽고 실행하는지 본격적으로 살펴보겠다.

참고

1Java Features - GeeksforGeeks

2Differences Between JDK, JRE and JVM - GeeksforGeeks

3Java Language Features Overview (2026) - tutorialQ

4Java Language and Virtual Machine Specifications - Oracle

5IntelliJ IDEA 설치 가이드: 초보자도 쉽게 따라 하는 완벽한 스텝별 세팅 방법

6Run IntelliJ IDEA for the first time - JetBrains

7Create your first Java application - JetBrains

책 목록

처음부터 실무까지 단계별로 배우는 JAVA 학습

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기