자바의 패키지에 대해 학습하세요.
- package 키워드
- import 키워드
- 클래스패스
- CLASSPATH 환경변수
- -classpath 옵션
- 접근지시자
package
FQCN(Fully Qualified Class Name)
: 완전한 클래스 표현, 패키지명.클래스명
선언하는 법
(default package)
로 java
디렉토리 하위에 패키지 생성을 하지 않았을 때를 의미package 패키지명; # 주석과 공백을 제외한 소스파일의 가장 첫 번째 문장에 위치
import
import
키워드 사용FQCN
을 통해 접근할 수 있음선언하는 법
import 패키지명.클래스명; // 패키지 멤버를 import
import 패키지명.*; // 패키지 전체를 import, 권장되지 않는 표현법
Built-in Package
Built-in Package
같은 경우는 아주 기본적인 패키지이기 때문에 별도로 import
을 해 줄 필요없음static import
Assertions.assertEquals() -> assertEquals()
을 사용할 때 많이 사용됨import static java.lang.Math.abs;
...
int num = abs(-100) // Math.abs(-100)와 같이 사용할 필요없음
...
클래스패스
JVM
은 런타임시 변환된 코드(.class
에 있는 바이트 코드)를 클래스 로더에 로딩하기 위해서는 클래스패스를 이용해서 파일의 경로를 알아냄CLASSPATH=경로;경로 // ";" 구분자(맥에선 ":")를 통해 경로 여러 개 등록 가능
시스템 환경 변수로 등록하게 되면 JVM
의 클래스로더는 이 디렉토리에 있는 클래스를 로드java -classpath(or -cp) "경로;경로" 실행파일
시스템 환경 변수보다 우선순위를 가짐출처:
https://young-bin.tistory.com/68
https://jjunbbang.tistory.com/8
https://kils-log-of-develop.tistory.com/430
https://soongjamm.tistory.com/118
https://velog.io/@kasania/Java-Static-import%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B4%80%EC%B0%B0
https://github.com/ByungJun25/study/tree/main/java/whiteship-study/7week
https://sowon-dev.github.io/2020/07/08/200709javai/