📁 패키지 (Package)
패키지는 자바에서 클래스와 인터페이스를 논리적으로 묶어 관리하는 단위다. 이는 운영체제에서 파일을 효율적으로 관리하기 위해 폴더(디렉토리)를 사용하는 것과 유사하다.
🌐 패키지가 필요한 이유
- 이름 충돌 방지 (Name Collision Prevention): 개발 시 수많은 개발자가 각자 클래스를 만들 수 있어 같은 이름의 클래스가 충분히 존재할 수 있다. 패키지는 이 클래스들을 고유한 "네임스페이스(namespace)" 안에 두어 이름 충돌을 방지한다.
- 클래스 묶음 (Grouping Related Classes): 기능적으로 연관된 클래스들을 하나의 패키지 안에 모아둠으로써, 프로젝트 구조를 깔끔하게 유지하고 관리하기 쉽게 만든다.
- 접근 제어 (Access Control): 패키지는 클래스 및 멤버의 접근 권한을 제어하는 데 사용된다. protected와 "기본 접근자(default access modifier)"는 같은 패키지 내에서만 접근을 허용하는 특징을 가진다.
📝 패키지 선언
모든 자바 소스 파일(.java)의 가장 첫 줄에는 해당 클래스가 속할 패키지를 선언해야 한다. 패키지가 없는 클래스도 존재할 수 있지만, 그 경우에도 기본 패키지(default package)에 속한다.
// com.example.myapp 패키지에 속하는 MyClass
package com.example.myapp;
public class MyClass {
// ...
}
실제 파일 시스템에서는 com/example/myapp/MyClass.java와 같은 디렉토리 구조를 가진다.
📏 패키지 명명 규칙
- 보통 모두 소문자로 작성한다.
- 인터넷 도메인 이름을 역순으로 사용하는 것이 일반적이다. (예: com.google.android, org.apache.commons)
'JAVA' 카테고리의 다른 글
| [JAVA] 접근 제어자란? (0) | 2025.09.13 |
|---|---|
| [JAVA] import 문에 대하여 알아보자. (0) | 2025.09.13 |
| [JAVA] 가비지 컬렉션(GC)와 NPE (0) | 2025.09.13 |
| [JAVA] 변수와 초기화 (0) | 2025.09.13 |
| [JAVA] 배열과 기본형, 참조형이란? (0) | 2025.09.13 |