패키지
: 클래스의 묶음
패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리 가능
같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하는 것이 가능하므로, 자신만의 패키지 체계를 유지함으로써 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있음
클래스의 실제 이름(full name)은 패키지명을 포함한 것
ex) String클래스의 실제이름 : java.lang.String (Java.lang 패키지에 속한 String 클래스)
클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리임 → 그래서 어떤 패키지에 속한 클래스는 해당 디렉토리에 존재하는 클래스파일(클래스이름.class)이어야 함
디렉토리가 하위 디렉토리를 가질 수 있는 것처럼, 패키지도 다른 패키지 포함 가능하며, 점 .
으로 구분
ex) java.lang패키지에서 lang패키지는 java패키지의 하위 패키지
이름 없는 패키지(unnamed package)
때문jdk1.8 > work > com > codechobo > book
;
를 구분자로 하여 여러 개의 경로를 클래스패스에 지정할 수 있으며, 맨 앞에 .;
를 추가한 이유는 현재 디렉토리(.)
를 클래스패스에 포함시키기 위해서임 ex) 'C:\jdk1.8\work\util.jar'파일을 클래스패스에 포함시키려면 아래와 같음
▶ C:\WINDOWS>SET CLASSPATH=C:\jdk1.8\work;C:\jdk1.8\work\util.jar;