패키지(Package)란?
패키지란 클래스의 묶음이다. 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리이다. 그래서 어떤 패키지에 속한 클래스는 해당 디렉토리에 존재하는 클래스 파일(.class)이어야 한다.
- 하나의 소스파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용한다.
- 모든 클래스는 반드시 하나의 패키지에 속해야 한다.
- 패키지는 점(.)을 구분자로 하여 계층구조로 구성할 수 있다.
- 패키지는 물리적으로 클래스 파일(.class)을 포함하는 하나의 디렉토리이다.
패키지의 선언
package 패키지명;
import문
소스코드를 작성할 때 다른 패키지의 클래스를 사용하려면 패키지명이 포함된 클래스 이름을 사용해야 한다. 하지만 클래스의 코드를 작정하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다.
import문 선언
일반적인 소스파일(*.java)의 구성은 다음의 순서로 되어 있다.
① package 문
② import 문
③ 클래스 선언
import문을 선언하는 방법
import 패키지명.클래스명; // 방법1
import 패키지명.*; // 방법2
static import문
import문을 사용하면 클래스의 패키지명을 생략할 수 있는 것과 같이 static import문을 사용하면 static 멤버를 호출할 때 클래스 이름을 생략할 수 있다. 특정 클래스의 static멤버를 자주 사용할 때 편리하며 코드도 간결해진다.
코드 예시)
import static java.lang.Integer.*; // Integer 클래스의 모든 static 메소드
import static java.lang.Math.random; // Math.random()만. 괄호 안붙임.
import static java.lang.System.out; // System.out.을 out만으로 참조가능
out.println(random()); // Sytem.out.println(Math.random()); 와 같음.
[참고]
Java의 정석 (남궁성 저)
'공부 > 자바' 카테고리의 다른 글
다형성(polymorphism) (0) | 2024.05.31 |
---|---|
제어자(modifier) (0) | 2024.05.31 |
오버라이딩(overriding) (0) | 2024.05.31 |
상속 & 클래스 간의 관계 (0) | 2024.05.30 |
변수의 초기화 (0) | 2024.05.29 |