
🍩 용어 정리
- JDK : Java Development Kit
- bin : binary폴더. 보통 실행파일을 bin이라고 함
- Java.exe : cmd에 java라고 치면 실행되는 파일
- javac.exe : cmd에 javac라고 치면 실행되는 파일. java파일을 컴파일하여 class파일로 만들 때 사용한다.
💡 "javac"는 "java" (자바) + "c" (씨) = "자바 씨"
풀어서 말하면 "Java Compiler"의 약자라서, 자연스럽게 "자바 씨"라고 부른다.
🚀 Java라고 명령을 내렸을 때 일어나는 일
✅ java 파일이 어디서든 실행되는 이유
👉 환경변수(Path) 덕분!
`Path` : 명령어(java, javac 등)를 어디서든 찾을 수 있게 해주는 환경변수.
설정 방법 :
- 내 컴퓨터 → 속성 → 고급 시스템 설정 → 고급 → 환경 변수 → 시스템 변수(Path)
- Path에 Java 설치 경로\bin 이 등록되어 있어야 한다. (예: C:\Program Files\Java\jdk-17\bin)
- CMD에서 java 입력했는데 안 된다? ➔ Path 설정 제대로 되어 있는지 확인!
✅ 컴파일 과정
1. Compile
Java 확장자가 붙은 소스코드를 class 확장자가 붙은 실행 파일로 바꾼다.
`javac Program.java` : Program.java라는 소스코드를 클래스 실행파일로 컴파일하기
2. Run
Class 확장자가 붙은 파일을 실행하는 것
java Program : 디렉토리에 Program이라는 클래스를 찾아보고, 있으면 그를 실행함
(linux) cat Program.java : Program이라는 파일의 내용을 보여줌
main 메소드를 먼저 찾고, 그 안의 코드를 순차적으로 실행해줌
- import = 다른 폴더의 클래스 사용
- 컴파일 = 필요한 패키지까지 같이 컴파일
- -cp ".:lib" = 경로 명시해주기
✅ 다른 사람이 만든 프로그램을 이용하려면?
👉 import 사용!
예시:
import org.opentutorials.iot.Elevator;
➔ org → opentutorials → iot 폴더 안의 Elevator 클래스를 가져옴
핵심 개념:
➔ org.opentutorials.iot = 패키지(package)
➔ package란? : 폴더 구조처럼 묶어둔 코드 그룹
✅ 컴파일할 때 주의할 점
소스코드는 패키지 안의 다른 클래스들도 필요하다.
➔ src 안의 다른 클래스들도 같이 컴파일해야 함.
org 폴더가 java 파일과 같은 디렉토리 안에 있어야 한다.
➔ 없으면 오류 발생! (컴파일할 때 못 찾음)
✅ 다른 경로에 있는 파일까지 컴파일하려면?
- javac -cp ".:lib" 파일명.java
- -cp 또는 --class-path 옵션 사용
- . (현재 디렉토리) 와 lib (라이브러리 폴더)를 같이 지정해준다.
- 주의: . :를 빼먹으면 현재 디렉토리(java 파일 있는 곳)를 못 찾는다!
✅ JAR 파일이란?
👉 JAR = Java ARchive
- 여러 개의 .class 파일(컴파일된 파일)과 관련 리소스 파일(그림, 설정 파일 등)을 하나로 묶은 압축 파일
- 쉽게 말하면 여러 파일을 하나로 뭉친 실행 가능한 패키지!
- 확장자 : .jar
👉 왜 JAR 파일을 쓰나?
- 프로그램 배포할 때 파일을 깔끔하게 하나로 묶을 수 있어서 편하다.
- 실행할 때 java -jar 파일명.jar 명령어로 간단히 실행 가능하다.
✅ JAR 파일 만들기
컴파일 완료된 .class 파일 준비하고 터미널에서
jar cf 파일명.jar 클래스파일들
- c : create (생성)
- f : file (파일로 저장)
jar cf Hello.jar Hello.class
✅ JAR 파일 실행하기
java -jar 파일명.jar
'Java' 카테고리의 다른 글
[Java] JVM의 작동 원리 (5) | 2025.05.13 |
---|---|
[Java] 자바의 예외 - Exception, RuntimeException 차이 (5) | 2025.04.22 |
[Java] JDK, JRE, JVM 개념 & 차이 등 정리 (4) | 2025.04.02 |
[Eclipse] 이클립스에서 메서드 구현부를 바로 찾아가도록 설정하는 방법 (4) | 2025.03.17 |
[Java] 자바 주석 종류: Javadoc 주석(/** */)과 멀티라인 주석(/* */의 차이점 (7) | 2025.03.06 |

🍩 용어 정리
- JDK : Java Development Kit
- bin : binary폴더. 보통 실행파일을 bin이라고 함
- Java.exe : cmd에 java라고 치면 실행되는 파일
- javac.exe : cmd에 javac라고 치면 실행되는 파일. java파일을 컴파일하여 class파일로 만들 때 사용한다.
💡 "javac"는 "java" (자바) + "c" (씨) = "자바 씨"
풀어서 말하면 "Java Compiler"의 약자라서, 자연스럽게 "자바 씨"라고 부른다.
🚀 Java라고 명령을 내렸을 때 일어나는 일
✅ java 파일이 어디서든 실행되는 이유
👉 환경변수(Path) 덕분! Path
: 명령어(java, javac 등)를 어디서든 찾을 수 있게 해주는 환경변수.
설정 방법 :
- 내 컴퓨터 → 속성 → 고급 시스템 설정 → 고급 → 환경 변수 → 시스템 변수(Path)
- Path에 Java 설치 경로\bin 이 등록되어 있어야 한다. (예: C:\Program Files\Java\jdk-17\bin)
- CMD에서 java 입력했는데 안 된다? ➔ Path 설정 제대로 되어 있는지 확인!
✅ 컴파일 과정
1. Compile
Java 확장자가 붙은 소스코드를 class 확장자가 붙은 실행 파일로 바꾼다.
javac Program.java
: Program.java라는 소스코드를 클래스 실행파일로 컴파일하기
2. Run
Class 확장자가 붙은 파일을 실행하는 것
java Program : 디렉토리에 Program이라는 클래스를 찾아보고, 있으면 그를 실행함
(linux) cat Program.java : Program이라는 파일의 내용을 보여줌
main 메소드를 먼저 찾고, 그 안의 코드를 순차적으로 실행해줌
- import = 다른 폴더의 클래스 사용
- 컴파일 = 필요한 패키지까지 같이 컴파일
- -cp ".:lib" = 경로 명시해주기
✅ 다른 사람이 만든 프로그램을 이용하려면?
👉 import 사용!
예시:
import org.opentutorials.iot.Elevator;
➔ org → opentutorials → iot 폴더 안의 Elevator 클래스를 가져옴
핵심 개념:
➔ org.opentutorials.iot = 패키지(package)
➔ package란? : 폴더 구조처럼 묶어둔 코드 그룹
✅ 컴파일할 때 주의할 점
소스코드는 패키지 안의 다른 클래스들도 필요하다.
➔ src 안의 다른 클래스들도 같이 컴파일해야 함.
org 폴더가 java 파일과 같은 디렉토리 안에 있어야 한다.
➔ 없으면 오류 발생! (컴파일할 때 못 찾음)
✅ 다른 경로에 있는 파일까지 컴파일하려면?
- javac -cp ".:lib" 파일명.java
- -cp 또는 --class-path 옵션 사용
- . (현재 디렉토리) 와 lib (라이브러리 폴더)를 같이 지정해준다.
- 주의: . :를 빼먹으면 현재 디렉토리(java 파일 있는 곳)를 못 찾는다!
✅ JAR 파일이란?
👉 JAR = Java ARchive
- 여러 개의 .class 파일(컴파일된 파일)과 관련 리소스 파일(그림, 설정 파일 등)을 하나로 묶은 압축 파일
- 쉽게 말하면 여러 파일을 하나로 뭉친 실행 가능한 패키지!
- 확장자 : .jar
👉 왜 JAR 파일을 쓰나?
- 프로그램 배포할 때 파일을 깔끔하게 하나로 묶을 수 있어서 편하다.
- 실행할 때 java -jar 파일명.jar 명령어로 간단히 실행 가능하다.
✅ JAR 파일 만들기
컴파일 완료된 .class 파일 준비하고 터미널에서
jar cf 파일명.jar 클래스파일들
- c : create (생성)
- f : file (파일로 저장)
jar cf Hello.jar Hello.class
✅ JAR 파일 실행하기
java -jar 파일명.jar
'Java' 카테고리의 다른 글
[Java] JVM의 작동 원리 (5) | 2025.05.13 |
---|---|
[Java] 자바의 예외 - Exception, RuntimeException 차이 (5) | 2025.04.22 |
[Java] JDK, JRE, JVM 개념 & 차이 등 정리 (4) | 2025.04.02 |
[Eclipse] 이클립스에서 메서드 구현부를 바로 찾아가도록 설정하는 방법 (4) | 2025.03.17 |
[Java] 자바 주석 종류: Javadoc 주석(/** */)과 멀티라인 주석(/* */의 차이점 (7) | 2025.03.06 |