이렇게 해서 패키지가 무엇인가에 대해서 알아봤다. 그럼 이클립스 없이 패키지를 사용하는 방법을 알아보자.
손 컴파일
자 손으로 컴파일을 해보자. 개발도구 없이 코딩하는 경우는 거의 없다. 그러므로 혹시 이해가 안 되면 나중에 다시 봐도 되는 부분이다. 하지만 언젠가는 알고 있어야 하는 부분이다. 이클립스 내부에서 어떤 일이 일어나는지 궁금하지 않은가?
프로젝트 디렉터리의 구성을 살펴보자.
- src : 소스 코드가 들어있다.
- bin : 컴파일된 클래스 파일이 들어있다.
위와 같이 구분한 이유는 관리의 편의성을 위해서다. 그럼 src에 소스코드를 만들고 그것을 컴파일 한 결과를 bin 하위에 위치하도록 작업해보자.
우선 우리가 컴파일 하려는 클래스는 아래와 같은 패키지의 소속이다.
package org.opentutorials.javatutorials.packages.example3;
패키지는 디렉터리와 대응관계에 있다. 따라서 패키지의 구조대로 src 하위에 디렉터리를 만들어보자.

packages 디렉터리에 파일 Selfcompile.java를 만든다. 파일의 내용은 아래와 같다.
package org.opentutorials.javatutorials.packages.example3; public class Selfcompile{}
이제 컴파일을 해보자. 컴파일은 아래와 같이 프로젝트 디렉토리에서 진행하자.

컴파일을 하려면 콘솔을 실행시켜야 한다. 콘솔을 프로젝트 디렉토리로 이동한다. 필자의 경우 아래와 같다.

이제 컴파일을 하자.
javac src/org/opentutorials/javatutorials/packages/example3/*.java
위의 명령은 현재 디렉토리를 기준으로 src/org/opentutorials/javatutorials/packages/example3/ 하위에 있는 모든 자바 파일을 컴파일한다. 컴파일 한 결과는 src/org/opentutorials/javatutorials/packages/example3/ 에 저장된다. 특별한 옵션을 주지 않으면 소스코드와 클래스 파일이 동일한 디렉토리에 위치하게 된다.
우리가 원하는 것은 클래스 파일이 bin 하위에 위치하도록 하는 것이다. 아래와 같이 컴파일 명령을 바꾸면 된다.
javac src/org/opentutorials/javatutorials/packages/example3/*.java -d bin
-d bin은 컴파일된 결과를 bin 디렉토리 하위에 위치시킨다는 의미다. 자바 컴파일러는 자동으로 클래스의 패키지에 해당하는 디렉토리를 생성해준다.