본문으로 바로가기
제품데스크톱 도구TASTECAD도면 확인TASTEFILES파일 관리TASTEFTP파일 전송TASTESSH원격 작업공간TASTEZIP압축과 해제개발 도구TASTECODERust 통합 개발 환경TASTESTUDIO통합 개발·테스트 환경TASTEETL데이터 통합(ETL)서버TASTEREMOTE원격 데스크톱 서버TASTEGEO공간정보 서버TASTEMAIL메일 작업공간시작하기다운로드문서구매모든 제품
마켓플레이스
소식
개발소식오늘의 개발 소식개발 문서프로그래밍 언어RustTypeScriptJavaScriptPythonGoC#JavaCC++KotlinDart프런트엔드 프레임워크Next.jsReactVue.js · NuxtSvelteKitAngular서버 프레임워크Spring BootDjangoFastAPIASP.NET CoreNestJS · Express앱 · 데스크톱 프레임워크TauriFlutterReact NativeElectron알고리즘알고리즘 기초알고리즘 핵심알고리즘 심화실무 알고리즘
커뮤니티프로젝트개발 로그프롬프트AI 도구 이슈쇼케이스커뮤니티 안내
협업기술 전수홈페이지 구축데스크톱 앱 구축릴리스·결제 파이프라인판매 파트너문의
서비스원격 데스크톱설치 패키지 커스텀
TASTEDEV
제품

데스크톱 도구

TASTECAD복잡한 도면을 가볍게 열다TASTEFILES필요한 파일만, 가장 빠르게TASTEFTP파일이 오가는 가장 단정한 길TASTESSH서버와 나 사이, 더 단단한 연결TASTEZIP더 빠르게 묶고, 더 안전하게 풀다

개발 도구

TASTECODERust 앱을 편집 · 빌드 · 디버깅 · 테스트까지 한 창에서TASTESTUDIO편집부터 원격 테스트와 승인 기반 AI 수정까지TASTEETL값을 보며 데이터를 옮깁니다

서버

TASTEREMOTE우리 회사 서버로 운영하는 원격 데스크톱TASTEGEOGeoServer 호환 공간정보 서버를 Rust로 다시 세웁니다TASTEMAIL메일의 주도권을 다시 내 손에

시작하기

다운로드모든 제품 최신 판문서제품 사용법구매구독 · 영구 라이선스모든 제품모든 제품 한눈에
모든 제품
마켓플레이스소식
개발

소식

오늘의 개발 소식언어 · 프레임워크 · GitHub · AI 공식 발표개발 문서언어 · 프레임워크 · 알고리즘 안내서

프로그래밍 언어

RustTypeScriptJavaScriptPythonGoC#JavaCC++KotlinDart

프레임워크

프런트엔드 프레임워크Next.jsReactVue.js · NuxtSvelteKitAngular
서버 프레임워크Spring BootDjangoFastAPIASP.NET CoreNestJS · Express
앱 · 데스크톱 프레임워크TauriFlutterReact NativeElectron

알고리즘

알고리즘 기초복잡도 분석 · 정렬 · 탐색 · 기본 자료구조 · 트리와 힙알고리즘 핵심그래프 탐색 · 최단 경로와 최소 신장 트리 · 동적 계획법 · 탐욕 알고리즘 · 분할 정복 · 백트래킹알고리즘 심화문자열 알고리즘 · 수학과 정수론 · 비트 연산 · 구간 트리 · 유니온 파인드실무 알고리즘코딩 면접 풀이 전략 · LRU 캐시 · 레이트 리미터 · 일관된 해시
개발 문서 전체 보기
커뮤니티
프로젝트빌더와 작업 발견개발 로그결정과 시행착오프롬프트재사용 가능한 지시AI 도구 이슈Claude · Codex · Gemini 문제와 우회법쇼케이스완성된 결과커뮤니티 안내공개하고 함께 만드는 방식
협업
기술 전수Rust·egui 네이티브 앱 만들기홈페이지 구축10개 언어, 계정, 문서·다운로드데스크톱 앱 구축Rust·egui, WebView 없이릴리스·결제 파이프라인서명 · MSI·deb·rpm·AppImage · 해시판매 파트너소개하고 결제액의 30% 받기문의구축 · 제휴 · 투자 문의
서비스
원격 데스크톱브라우저로 내 컴퓨터에 접속설치 패키지 커스텀필요한 기능만, 설정은 미리
구매
KO
한국어EnglishDeutschEspañolFrançaisItalianoPortuguês (Brasil)日本語简体中文繁體中文
로그인
로그인
TASTEDEV

작은 도구부터, 더 좋은 개발까지.

support@tastedev.netTASTEDEV 후원하기
제품제품군구매문서다운로드마켓플레이스고객 지원
커뮤니티프로젝트개발 로그프롬프트AI 도구 이슈쇼케이스
정책개인정보처리방침이용약관구독 약관환불 정책커뮤니티 운영 정책
계정로그인가입하기
방문자
오늘
012345678901234567890123456789012345678901234567890123456789
어제
012345678901234567890123456789012345678901234567890123456789
누적 조회
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
상호
지엑스소프트
대표자
최영구
사업자등록번호
853-44-00368
주소
인천광역시 미추홀구 경인로 351 9층 V24
전화
+82-10-4404-1523
이메일
whitecalvin@tastedev.net
개인정보 보호책임자
최영구

© 2026 TASTEDEV제품 정보는 현재 검증된 개발 소스를 기준으로 합니다.출시·고도화 중

Java 문서
Java
시작하기기본 문법타입과 데이터모듈과 패키지오류 처리와 테스트핵심 개념
토론

Java 안내서 · 1/6

시작하기

Java 프로그램을 만들려면 먼저 JDK(Java Development Kit) 가 필요합니다. JDK에는 소스 코드를 바이트코드로 바꾸는 컴파일러 javac, 바이트코드를 실행하는 JVM 실행기 java, 대화형 셸 jshell, 그리고 jar 같은 도구가 함께 들어 있습니다. 이 장에서는 JDK를 설치하고, 첫 프로그램을 컴파일해 실행하고, 실제 프로젝트의 디렉터리 구조와 편집기 설정까지 살펴봅니다.

JDK 설치

JDK는 여러 배포판이 있습니다. 모두 OpenJDK 소스에서 빌드되므로 언어와 표준 라이브러리는 같고, 지원 기간과 라이선스가 조금씩 다릅니다. 처음이라면 무료로 쓸 수 있는 Eclipse Temurin이나 Oracle OpenJDK 빌드를 고르면 무난합니다. 실무에서는 장기 지원(LTS) 버전을 쓰는 경우가 많습니다.

방법설명
설치 파일Adoptium이나 jdk.java.net에서 운영체제에 맞는 파일을 내려받습니다
macOSHomebrew로 brew install openjdk 를 실행합니다
Debian/Ubuntusudo apt install default-jdk 로 배포판 기본 JDK를 설치합니다
SDKMAN!여러 JDK를 바꿔 가며 써야 할 때 편리한 버전 관리 도구입니다

설치가 끝나면 터미널에서 버전을 확인합니다. 두 명령이 모두 버전을 출력하면 준비가 끝난 것입니다.

java -version
javac -version

명령을 찾지 못한다는 오류가 나오면 JDK의 bin 디렉터리가 PATH 에 들어 있는지 확인합니다. 빌드 도구와 IDE는 JAVA_HOME 환경 변수로 JDK 위치를 찾는 경우가 많으므로 이 변수도 JDK 설치 경로로 설정해 두는 것이 좋습니다.

첫 프로그램: 컴파일과 실행

Java 코드는 클래스 안에 들어갑니다. 프로그램의 시작점은 public static void main(String[] args) 메서드입니다. 아래 내용을 Hello.java 로 저장합니다. 공개(public) 클래스 이름과 파일 이름은 반드시 같아야 합니다.

public class Hello {
    public static void main(String[] args) {
        String name = args.length > 0 ? args[0] : "world";
        System.out.println("Hello, " + name + "!");
    }
}

전통적인 방법은 javac 로 컴파일해 .class 파일(바이트코드)을 만든 뒤 java 로 클래스 이름을 지정해 실행하는 것입니다. java 에는 파일 이름이 아니라 클래스 이름을 넘긴다는 점에 주의합니다.

javac Hello.java # Hello.class 생성
java Hello # Hello, world!
java Hello Java # Hello, Java!

소스 파일 바로 실행하기

작은 프로그램이나 스크립트라면 컴파일 단계를 따로 거치지 않아도 됩니다. java 에 .java 파일을 직접 넘기면 메모리에서 컴파일한 뒤 곧바로 실행합니다. 이 방식은 디스크에 .class 파일을 남기지 않습니다.

java Hello.java Java

최신 JDK에서는 클래스 선언 없이 void main() 만 적는 간단한 형태의 소스 파일도 지원합니다. 다만 대부분의 자료와 기존 코드는 위의 전통적인 형태를 쓰므로 먼저 그 형태에 익숙해지는 것이 좋습니다.

JShell로 실험하기

jshell 은 코드를 한 줄씩 입력하고 결과를 바로 확인하는 REPL입니다. 클래스나 main 메서드 없이 식과 문장을 실행할 수 있어 API를 익히거나 작은 아이디어를 시험할 때 유용합니다. /vars, /methods 로 지금까지 정의한 것을 확인하고, /exit 로 끝냅니다.

jshell> var nums = java.util.List.of(3, 1, 2)
nums ==> [3, 1, 2]

jshell> nums.stream().sorted().toList()
$2 ==> [1, 2, 3]

jshell> "java".toUpperCase()
$3 ==> "JAVA"

프로젝트 디렉터리 구조

파일이 여러 개가 되면 Maven이나 Gradle 같은 빌드 도구를 씁니다. 두 도구 모두 다음과 같은 표준 디렉터리 구조를 따릅니다. 패키지 이름은 디렉터리 경로와 일치해야 합니다.

my-app/
├── pom.xml # Maven (Gradle이면 build.gradle.kts)
└── src/
    ├── main/
    │   ├── java/com/example/app/App.java
    │   └── resources/ # 설정 파일, 정적 자원
    └── test/
        └── java/com/example/app/AppTest.java
  • src/main/java 에는 제품 코드가 들어갑니다.
  • src/main/resources 의 파일은 클래스패스에 함께 포함됩니다.
  • src/test/java 에는 테스트 코드가 들어가며 배포물에는 포함되지 않습니다.
  • 빌드 결과는 Maven은 target/, Gradle은 build/ 에 생깁니다.

IDE 설정

Java는 IDE 지원이 매우 좋은 언어입니다. 대표적인 선택지는 다음과 같습니다.

  • IntelliJ IDEA: 리팩터링과 코드 분석이 강력하며 무료 버전으로도 충분히 시작할 수 있습니다.
  • Visual Studio Code: Microsoft의 Extension Pack for Java를 설치하면 자동 완성, 디버깅, 테스트 실행을 지원합니다.
  • Eclipse IDE: 오래된 오픈 소스 IDE로 여전히 많은 기업에서 사용합니다.

어떤 IDE든 프로젝트를 열 때 pom.xml 이나 build.gradle.kts 를 인식해 의존성과 소스 경로를 자동으로 설정합니다. 프로젝트에 사용할 JDK를 IDE 설정에서 명시적으로 고르는 것도 잊지 않습니다.

정리

  • JDK를 설치하고 java -version, javac -version 으로 확인합니다.
  • javac 로 컴파일하고 java 클래스이름 으로 실행하거나, java 파일.java 로 바로 실행할 수 있습니다.
  • jshell 은 API와 문법을 빠르게 실험하는 도구입니다.
  • 실제 프로젝트는 src/main/java, src/test/java 구조와 Maven 또는 Gradle을 사용합니다.
이 장에 대해 질문이 있나요?
다음 장기본 문법

댓글 0개

인기 댓글순최신순

로그인 · 로그인하면 댓글을 남길 수 있습니다.