[JAVA] 패키지

김규리·2026년 9월 7일

Java 패키지란?

Java에서 패키지(Package)는 관련 있는 클래스와 인터페이스를 하나로 묶어 관리하는 공간이다.

쉽게 생각하면 패키지 = 폴더라고 생각하면 이해하기 쉽다.

프로젝트가 커지면 클래스 파일이 많아지기 때문에 패키지를 이용하면 파일을 목적에 따라 나누어 관리할 수 있다.

참고: Java API Documentation


1. 패키지의 기본 구조

패키지에 속한 클래스나 인터페이스는 패키지 이름과 동일한 디렉터리에 저장된다.

예를 들어 다음과 같은 패키지가 있다고 하자.

package com.example.student;

그러면 일반적으로 디렉터리 구조는 다음과 같이 구성된다.

src
└── com
    └── example
        └── student
            ├── Student.java
            └── Score.java

즉

com.example.student

이라는 패키지는 실제 디렉터리에서는

com/example/student

형태로 표현된다.


2. 디렉터리 계층 구조

Java 패키지는 다른 패키지를 포함하는 계층적인 구조로 만들 수 있다.

이때 패키지의 계층은 점(.)으로 구분한다.

예를 들어,

com.example
com.example.student
com.example.teacher

와 같이 사용할 수 있다.

이를 디렉터리 구조로 표현하면 다음과 같다.

com
└── example
    ├── student
    └── teacher

따라서 패키지 이름의 .은 디렉터리의 /와 대응된다고 생각하면 된다.

com.example.student
        ↓
com/example/student

3. package 문

클래스를 특정 패키지에 포함시키려면 클래스 파일의 가장 위쪽에 package를 작성한다.

package com.example.student;

public class Student {
    
}

이렇게 작성하면 Student 클래스는

com.example.student

패키지에 속하게 된다.

package 선언은 일반적으로 Java 파일의 가장 위쪽에 작성한다.


4. import란?

다른 패키지에 있는 클래스를 사용하려면 import 문을 사용할 수 있다.

import를 사용하면 클래스의 전체 패키지 경로를 매번 작성하지 않고 클래스 이름만으로 사용할 수 있다.

예를 들어 Java에서 자주 사용하는 Scanner 클래스는

java.util.Scanner

패키지에 포함되어 있다.

import를 사용하면 다음과 같이 작성할 수 있다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
    }
}

import가 없다면 다음처럼 전체 이름을 작성해야 한다.

java.util.Scanner scanner =
    new java.util.Scanner(System.in);

따라서 import를 사용하면 코드가 훨씬 간결해진다.


5. import 사용 방법

import 문은 클래스 선언보다 먼저 작성한다.

기본적인 형태는 다음과 같다.

import 패키지이름.클래스이름;

또는

import 패키지이름.*;

두 가지 방법이 있다.


① 특정 클래스만 import

특정 패키지에서 하나의 클래스만 사용하고 싶다면 클래스 이름까지 작성한다.

import java.util.Scanner;

이제 Scanner를 사용할 때

Scanner scanner = new Scanner(System.in);

처럼 클래스 이름만 작성할 수 있다.

형식

import 패키지이름.클래스이름;

예시

import java.util.ArrayList;

java.util 패키지의 ArrayList만 가져오는 것이다.


② 패키지의 모든 클래스를 import

특정 패키지에 있는 모든 클래스를 클래스 이름만으로 사용하고 싶다면 *을 사용할 수 있다.

import java.util.*;

이렇게 하면 java.util 패키지에 있는 여러 클래스를 사용할 수 있다.

예를 들어,

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Integer> list = new ArrayList<>();
    }
}

위 코드에서는 Scanner와 ArrayList를 모두 클래스 이름만으로 사용할 수 있다.

형식

import 패키지이름.*;

6. import 정리

형태설명
import 패키지이름.클래스이름;특정 클래스만 import
import 패키지이름.*;해당 패키지의 모든 클래스를 import

예를 들어,

import java.util.Scanner;

→ Scanner만 사용

import java.util.*;

→ java.util 패키지의 여러 클래스를 사용할 수 있음


💡 핵심 정리

패키지는 Java에서 클래스와 인터페이스를 묶어서 관리하는 공간이다.

쉽게 말하면,

패키지 = 클래스들을 정리해 놓은 폴더

라고 생각하면 된다.

그리고 다른 패키지의 클래스를 사용할 때는 import를 사용한다.

package
  ↓
클래스들을 그룹으로 관리

import
  ↓
다른 패키지의 클래스를 간편하게 사용

한 줄 정리

package는 클래스를 묶어 관리하기 위한 공간이고, import는 다른 패키지의 클래스를 쉽게 사용하기 위한 문법이다.

0개의 댓글