Dev/Java
[Java] 자바의 정석 기초편 ch7-12~14 패키지(package), 클래스 패스
코딩삐약
2022. 6. 13. 13:30
ch7-12 패키지 (package)
- 서로 관련된 클래스의 묶음
- 클래스는 클래스 파일(*.class), 패키지는 폴더, 하위 패키지는 하위 폴더
- 클래스의 실제 이름(full name)은 패키지를 포함(java.lang.String) = java 패키지 안의 하위폴더 lang 폴더 안의 String.class
- rt.jar(runtime 실행할때 필요한 클래스파일을 묶어놓은 것) 는 클래스들을 압축한 파일(JDK설치경로 \jre\lib에 위치)
java 9부터 module 개념 rt.jar 없어짐
ch7-13 패키지의 선언
- 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언
- 같은 소스파일의 클래스들은 모두 같은 패키지에 속하게 된다.
- 패키지 선언이 없으면 이름없는(unnamed) 패키지 (=default package)에 속하게 된다.
//PackageTest.java
package com.codechobo.book; //패키지 선언
public class PackageTest {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
class PackgeTest2 {}
ch7-14 클래스 패스(classpath)
- 클래스 파일(*.class)의 위치를 알려주는 경로
- 환경변수 classpath로 관리하며, 경로간의 구분자는 ';'(세미콜론)를 사용
- OS단에서 설정 , 제어판에 등록
- classpath(환경변수)에 패키지의 루트를 등록해줘야 함.
제어판 - 시스템 - 환경변수 검색 - 시스템속성 - 환경변수 -
시스템 변수에 새로만들기 - 변수이름 : CLASSPATH , 변수값 : [패키지루트]
- 패키지루트 (패키지 시작폴더의 상위 폴더)
- bin폴더 - 컴파일된 클래스가 있는 폴더
- 패키지루트를 클래스패스로 지정하면 그 폴더로 이동하지않고도 java실행가능
CMD창에서 set classpath 하면 확인가능
set classpath=경로;경로 하면 변경 가능