7-12 패키지 / 7-15 import문
서로 관련된 클래스의 묶음
클래스는 클래스 파일(*.class), 패키지는 폴더. 하위 패키지는 하위 폴더
클래스의 실제 이름(full name)은 패키지를 포함.(java.lang.String)
rt.jar는 클래스들을 압축한 (JDK설치경로\jre\lib에 위치 *java8 기준)
*rt(runtime).jar(클래스 파일을 묶어놓은것)
java9부터는 module 개념이 들어가서 rt.jar파일이 없다
패키지 선언
- 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언
- 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 된다.
- 패키지 선언이 없다면 이름없는(unnamed, default pakage)패키지에 속하게 된다.
클래스 패스(classpath)
-클래스 파일(*.class)의 위치를 알려주는 경로(path)
-환경변수 classpath로 관리하며, 경로간의 구분자는 ';'를 사용
- classpath(환경변수)에 패키지의 루트를 등록해줘야 함.
import문
-클래스를 사용할 때 패키지 이름을 생략할 수 있다.
-컴파일러에게 클래스가 속한 패키지를 알려준다.
-import문은 패키지문과 클래스선언 사이에 선언한다.
-import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향없음.
-이름이 같은 클래스가 속한 두 패키지를 import할 때는 클래스 앞에 패키지 명을 붙여줘야 한다.
static import문 *왠만하면 사용안하고 꼭 필요할때만 사용
-static멤버를 사용할 때 클래스 이름을 생략할 수 있게 해준다.
ex) import static java.lang.System.out; // System.out을 out으로만 참조 가능