클래스 패스

클래스가 위치하는 경로를 우리가 지정해서 자바가 필요로 하는 어떤 클래스를 로드하는 방법을 지정하는 것이 클래스 패스이다.

빈 디렉터리에 아래와 같이 코드를 작성한다.

필자는 프로젝트 디렉토리에 /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
복사했습니다!