클래스 패스
클래스가 위치하는 경로를 우리가 지정해서 자바가 필요로 하는 어떤 클래스를 로드하는 방법을 지정하는 것이 클래스 패스이다.
빈 디렉터리에 아래와 같이 코드를 작성한다.
필자는 프로젝트 디렉토리에 /srcbin 이라는 디렉토리를 만들고 여기에서 실습을 진행할 것이다.
아래 예제의 파일명은 ClasspathDemo.java 이다.
class Item{
}
class ClasspathDemo {
}
컴파일을 한다.
javac ClasspathDemo.java |
그 결과 두 개의 클래스 파일이 생성된다.
- ClasspathDemo.class
- Item.class
즉 클래스 하나는 하나의 클래스 파일이 된다는 것을 알 수 있다.
클래스의 경로
ClasspathDemo2.java을 만들고 내용을 아래와 같이 한다.
class Item2{
public void print(){
System.out.println("Hello world");
}
}
class ClasspathDemo2 {
public static void main(String[] args){
Item2 i1 = new Item2();
i1.print();
}
}
컴파일을 한다.
그리고 현재 디렉터리 하위에 lib을 만들고 여기에 Item2.class 파일을 이동한다.
현재 디렉터리에는 Item2.class 파일이 없어야 한다. 그리고 ClasspathDemo2를 실행한다.
옵션 -classpath는 자바를 실행할 때 사용할 클래스들의 위치를 가상머신에게 알려주는 역할을 한다.
-classpath의 값으로 사용된 ".;lib"를 살펴보자.
이와 같이 클래스 패스라는 것은 자바를 실행할 때 클래스의 위치를 지정하는 역할을 하는 것이다. 클래스 패스는 자바 애플리케이션이 사용하고 있는 클래스가 여러 경로에 분산되어 있을 때 유용하게 사용할 수 있는 방법이다.
지금까지는 자바를 실행할 때 클래스 패스를 지정하는 방법을 알아봤다. 실행 할 때마다 클래스 패스를 지정하는 것이 귀찮다면 클래스 패스를 시스템의 환경변수로 지정하면 된다.
'📌 java > java' 카테고리의 다른 글
java - class, public class 차이 (0) | 2020.03.10 |
---|---|
java - 패키지 (0) | 2020.03.10 |
java - overloading (0) | 2020.03.10 |
java - overriding (0) | 2020.03.09 |
java - 상속과 생성자 (0) | 2020.03.03 |