패키지

Single Ko·2023년 4월 5일
0

java

목록 보기
12/28

패키지란?

  • Java의 패키지는 관련 클래스, 인터페이스, Enum, recode(Java 16에서 도입)등을 단일 응집 단위로 구성하기 위한 메커니즘.
  • 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리 할 수 있다.
  • 같은 이름 클래스라도 다른 패키지에 존재하는 것이 가능 -> 클래스 라이브러리의 클래스 이름과 충돌하는것을 피할 수 있음.

패키지는 물리적으로 하나의 디렉토리이다.

  • 하나의 소스 파일에는 첫번째 문장으로 단 하나의 패키지 선언만을 허용한다.
  • 모든 클래스는 반드시 하나의 패키지에 속해야 한다.
  • 패키지는 dot(.)을 구분자로 하여 계층구조로 구성가능
  • 물리적으로 클래스 파일을 포함하는 하나의 디렉토리이다.

패키지의 기능

  1. 액세스 제어: 패키지는 멤버(클래스, 인터페이스 등)에 대해 접근 수준을 제어 합니다.. public, private, protected 및 default와 같은 접근 제어자를 사용하여 클래스 및 해당 멤버의 가시성 및 액세스 가능성을 정의할 수 있습니다

  2. 이름 지정 규칙: 패키지에 대해 일반적으로 통용되는 이름 지정 규칙이 있다. 일반적으로 패키지 이름은 소문자로 작성되며 고유성을 보장하기 위해 com.example.myapp과 같은 반전된 도메인 이름 패턴을 사용합니다.

  3. 사용자 정의 패키지 : 자신만의 패키지를 만들려면 Java 소스 파일의 시작 부분에 패키지 선언을 포함하기만 하면 됩니다. 컴파일 후 생성된 .class 파일은 패키지 이름에 따라 적절한 디렉토리 구조에 배치됩니다.

package com.example.myapp;  //사용자 정의 패키지.

public class MyClass {
    // Your class implementation
}
  1. 다른 패키지에서 클래스 가져오기 : 다른 패키지에서 클래스를 사용해야 하는 경우 패키지 이름 을 사용하거나 import 문을 사용할 수 있습니다.
import java.util.ArrayList;  // import문을 이용한 패키지 가져오기
  
public class MyList {
    ArrayList<String> myList = new ArrayList<>();
}
  1. 패키지에서 모든 클래스 가져오기 : 패키지에서 모든 클래스를 가져오려면 와일드카드(*) 문자를 사용하면 된다.
import java.util.*;

public class MyClass {
    // Your class implementation
}
  1. 하위 패키지 : 패키지는 하위 패키지가 있어 계층 구조를 만들어 관리 할 수 있습니다. ex) 데이터용 com.example.myapp.models 패키지와 서비스용 com.example.myapp.services 패키지가 있을 수 있습니다.

결론

Java 패키지는 코드 구성, 코드 재사용 촉진 및 액세스 제어 관리에 필수적입니다. 이를 효과적으로 사용하면 Java 프로젝트의 유지 관리성과 가독성을 크게 향상시킬 수 있습니다.

profile
공부 정리 블로그

0개의 댓글