13. 패키지
1. 패키지란
- 클래스의 묶음
- 서로 관련된 클래스들끼리 묶어 효울적으로 관리
- 물리적으로 하나의 폴더
- 패키지에 속한 클래스는, 해당 파일에 존재하는 class파일이어야함
- 클래스의 실제이름
- 패키지명을 포함한 이름(java.lang.String)
- jar
- 클래스와 관련된 파일들이 압축되어 있는 것
- java_jdk_jre_lib_rt.jar
- jdk의 기본 클래스들이 기능할 수 있는 이유
2. 패키지의 선언
package 패키지명;
- 선언문은 주석 공백 제외 첫 번째 문장이어야 한다.
- 하나의 소스파일에 한번만 선언가능
- 모든 클래스는 반드시 하나의 패키지에 포함되어야함
- 패키지를 선언하지 않으면, 이럼읎는 패키지 기본 제공
- 패키지는 점(.)을 구분자로 하여 계층구조로 구성 가능
- cmd 내 컴파일 시
- javac -d . TestPackage.java
- -d : 패키지 생성 옵션
- . : 패키지 생성 디렉토리(.은 현재 폴더)
- javac -d subdir TestPackage.java
- 현재폴더의 subdir 폴더에 패키지가 생성됨
3. static import
- import 문 사용
- 클래스의 패키지명 생략
- static import 문 사용
- static멤버를 호출할 때 클래스명 생략 가능
//import java.util.*;
import static java.lang.System.out;
import static java.lang.Math.random;
import static java.lang.Math.PI;
//import static java.lang.Math.*;
public class StaticImportTest {
public static void main(String[] args) {
//System.out.println(Math.random()); // 기존
out.println(random()); // static import로 클래스명 생략
//System.out.println(Math.PI);
out.println(PI);
}
}