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 파일 내에 모든 경로를 조회한다.
많은 부분이 이클립스가 해주는 부분들을 알 수 있는 수업이었다.
'자바의정석' 카테고리의 다른 글
[자바의정석 - 기초편 ] ch7-17~20 제어자, static, final, abstract (0) | 2022.03.19 |
---|---|
[자바의 정석 - 기초편] ch7-15, 16 import문, static import문 (0) | 2022.03.19 |
[자바의 정석 - 기초편] ch7-10,11 참조변수 super, 생성자 super() (0) | 2022.03.19 |
[자바의 정석 - 기초편] ch7-7~9 오버라이딩 (0) | 2022.03.18 |
[자바의 정석 - 기초편] ch7-5,6 단일상속, Object클래스 (0) | 2022.03.18 |