자바 패키지(Java package)는 자바 클래스들을 여러 이름공간으로 정리하며[1], 소속된 각 형에 대해 고유한 이름공간을 제공한다. 동일한 패키지 내의 클래스들은 서로의 package-private 및 protected 멤버들에 접근할 수 있다. 자바 패키지들은 JAR 파일이라는 압축 파일에 저장할 수 있으며, 클래스들을 하나씩이 아닌 묶음으로 더 빠르게 다운로드할 수 있게 한다.

패키지 사용 편집

자바 소스 파일에서 이 파일의 클래스나 클래스들이 속하는 패키지는 package라는 키워드와 함께 지정된다. 이 키워드는 일반적으로 소스 파일에서 처음 오는 키워드이다. 하나의 패키지 선언을 소스 파일에 선언할 때에는 다음과 같이 할 수 있다:

package java.awt.event;

자바 소스 파일 안의 패키지 클래스들을 사용하려면 import 선언과 함께 패키지로부터 클래스들을 가져오는 것이 편리하다. 다음의 선언은

import java.awt.event.*;

java.awt.event 패키지로부터 모든 클래스들을 가져오며, 다음의 선언은

import java.awt.event.ActionEvent;

해당 패키지에서 ActionEvent 클래스만 가져온다. 이 import 선언 뒤에 단순한 클래스 이름을 사용하여 ActionEvent 클래스를 참조할 수 있다.:

ActionEvent myEvent = new ActionEvent();

클래스들은 import 선언 없이 직접 사용할 수도 있다. 예를 들어 다음은

java.awt.event.ActionEvent myEvent = new java.awt.event.ActionEvent();

import 선언을 우선할 필요가 없다.

자바 SE 8의 코어 패키지 편집

  • java.util
  • java.io
  • java.nio
  • java.net
  • java.security
  • java.sql
  • java.awt
  • javax.swing
  • java.beans
  • java.text
  • java.rmi
  • java.time

java.lang 패키지는 import 문을 사용하지 않고도 사용 가능하다.

각주 편집

  1. James Gosling, Bill Joy, Guy Steele, Gilad Bracha, The Java Language Specification, Third Edition, ISBN 0-321-24678-0, 2005. In the Introduction, it is stated "Chapter 7 describes the structure of a program, which is organized into packages similar to the modules of Modula."