자바의정석

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

유호야 2022. 3. 19. 23:17
반응형

ch7-12 패키지(package)

- 서로 관련된 클래스의 묶음

java8 기준으로 약 4000개의 클래스가 있다. 

많은 클래스들을 묶지 않고 관리하기 힘들어서 패키지로 묶음을 만들었다. 

- 클래스는 클래스 파일(*.class), 패키지는 폴더. 하위 패키지는 하위 폴더

- 클래스의 실제(full name)은 패키지를 포함(java.lang.String)

rt.jar(run time)는 클래스들을 압축한 파일(jdk 설치경로 \ jre \ lib 에 위치)

JAVA9부터는 rt.jar 파일은 없어졌다. module개념이 등장하기 때문에 
너무 큰 rt 파일을 없애고 module 등장 

jar 압축파일이고, 이것을 압축해제하면 클래스가 있다.

eclipse에서도 jar 파일을 확인할 수 있다. 


ch7-13 패키지의 선언

- 패키지는 소스파일의 첫 번째 문장으로 단 한 번 선언
- 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 된다. 
- 패키지 선언이 없으면 이름없는(unnamed) 패키지에 속하게 된다. 

 

- 실습

패키지 선언을 하지 않으면 default 패키지에 (unname) 들어간다. 

bin 폴더 경로로 이동해서, 패키지 경로와 클래스 이름을 작성하여 클래스 실행 가능

매번 특정 폴더로 이동해야 하는가? 

그 귀찮음을 없애주는 것이 ClassPath이다. 

 

ch7-14 클래스 패스 (classpath)

- 클래스 파일(*.class)의 위치를 알려주는 경로(path)
- 환경변수 classpath로 관리하며, 경로 간의 구분자는 ';'를 사용
- claspath(환경변수)에 패키지의 루트를 등록해줘야 함

경로를 못 찾을 때 환경변수에 가서 경로를 찾게 된다. 

제어판 > 환경변수 > 시스템 환경변수에 classpath 경로를 클래스파일이 들어있는 bin까지의 경로로 설정한다.

환경변수 설정이 변경된 이후에 cmd을 새로 실행한다. 

 classpath라는 환경변수가 어떻게 사용되는지 확인할 수 있었다.

 

 명령창에서 classpath 값을 확인하는 명령어는

 

세미콜론을 구분자로 계속 추가할 수 있다. 

위치가 아닌 jar 파일이라도 등록이 가능하며, jar 파일 내에 모든 경로를 조회한다. 

많은 부분이 이클립스가 해주는 부분들을 알 수 있는 수업이었다. 

 

반응형