본문 바로가기
Dev/Java

[Java] 자바의 정석 기초편 ch7-12~14 패키지(package), 클래스 패스

by 코딩삐약 2022. 6. 13.

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=경로;경로 하면 변경 가능