언어(Language)/Java
[Java] 패키지
송기동
2025. 5. 9. 15:06
728x90
패키지란?
- 자바 클래스 파일들을 폴더처럼 묶어서 관리할 수 있게 해주는 기능
📦 쉽게 말하면: 클래스 파일들을 정리정돈하는 폴더 개념이라고 보면 된다.
# 패키지를 사용하는 이유
- 클래스 관리 : 비슷한 기능의 클래스를 하나의 폴더로 정리 가능
- 클래스 이름 충돌 방지 : 같은 이름의 클래스라도 패키지가 다르면 사용 가능
- 접근 제한 설정 가능 : public, default 등 접근 제어자를 통해 외부 공개 여부 설정 가능
# 패키지 선언 방법
// 클래스 파일 상단에 package <패키지이름>을 선언
package com.myapp.util;
public class MyUtils {
public static void sayHi() {
System.out.println("Hi!");
}
}
// com.myapp.util은 폴더 구조를 의미 /com/myapp/util/MyUtils.java
# 패키지 사용 (import)
// 다른 패키지에 있는 클래스를 사용하려면 import 문을 사용
import com.myapp.util.MyUtils;
public class Main {
public static void main(String[] args) {
MyUtils.sayHi(); // 다른 패키지 클래스 사용
}
}
# 디렉토리 구조 예시
src/
├── com/
│ └── myapp/
│ ├── util/
│ │ └── MyUtils.java (package com.myapp.util)
│ └── Main.java (package com.myapp)
# 자바 표준 패키지 예시
- 자바에서는 미리 만들어진 유용한 패키지들이 많이 있음
패키지 이름 | 설명 |
java.lang | 기본 클래스들 (String, System, Math 등) → 자동 import |
java.util | 유틸리티 클래스 (List, Map, Scanner 등) |
java.io | 입출력 처리 클래스 (File, InputStream 등) |
java.net | 네트워크 통신 관련 클래스 |
java.time | 날짜와 시간 처리 클래스 |
# 패키지와 라이브러리 차이가 뭘까?
- 패키지는 자바 클래스들을 정리하기 위한 폴더 구조
- 라이브러리는 그 패키지들을 묶어 기능을 제공하는 재사용 가능한 모음이다.
728x90