Package
Package
클래스명의 고유성을 보장하기 위해서 사용
- 클래스를 구분짓는 폴더 개념
- 자바는 패키지의 가장 상위 디렉토리(root) 에서 실행해야한다는 약속이 있기 때문에 해당 패키지로 가서 컴파일 하지 않는다.
- 소스에 가장 첫 줄에 있어야하고, 패키지 선언은 소스 하나에 하나만 있어야한다.
- 패키지 이름과 위치한 폴더의 이름이 같아야한다.
- 패키지이름을 java로 시작하면 안된다.
- 모든 자바 패키지들은 가장 상위 패키지인 java와 javax 패키지에 종속
- 패키지를 정해주지 않는다면, 클래스는 기본적으로 “default package”에 속하게 되고 “default package”는 아무런 패키지 이름을 가지지 않는다.
패키지 명
패키지 시작이름 | 내용 |
---|---|
java | 자바 기본 패키지(Java vendor 개발) |
javax | 자바 확장 패키지(Java vendor 개발) |
org | 일반적으로 비영리단체 (오픈소스) 패키지 |
com | 일반적으로 영리단체(회사) 패키지 |
- 패키지 이름은 모두 소문자여야한다.
- 자바의 예약어를 사용하면 안된다. (예, int, static)
- 개발 패키지 표준은 정하는 것에 따라 지정하면 된다.
import
import 패키지명.클래스명
다른패키지명에 있는 클래스를 찾지 못할때 사용한다.
Class Path
클래스를 찾기 위한 경로
JVM이(누가) 프로그램을 실행할 때(언제), 클래스파일을 찾는 데(왜) 클래스 패스(기준이 되는 파일 경로)(무엇을)를 사용한다.
- 즉, JVM은 CLASSPATH의 경로를 확인하여 라이브러리 클래스들의 위치를 참조
- 소스 코드(.java로 끝나는 파일)를 컴파일하면 소스 코드가 “바이트 코드”로 변환된다. java runtime(java 또는 jre)으로 이 .class 파일에 포함된 명령을 실행하려면, 이 파일을 찾을 수 있어야 한다. .class 파일을 찾을 때, classpath에 지정된 경로를 사용한다.
- classpath는 .class 파일이 포함된 디렉토리와 파일을 콜론(;)으로 구분한 목록이다.
- CLASSPATH 환경변수 사용
- java runtime 에 -classpath 옵션 사용