본문 바로가기

JAVA

[JAVA] 패키지란?

📁 패키지 (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