14. 패키지(package)와 클래스패스(classpath)
패키지(package)?
패키지(package)는 서로 관련있는 클래스(파일)들을 묶어준 것을 의미합니다. 쉽게 설명드리자면 패키지는 디렉토리(폴더)의 역할을 하게 됩
니다. 또한 이때 해당 패키지 내 클래스 파일들의 진짜 이름은 단순히 Example과 같은 것이 아닌 com.vanilla.javaStudy.Example과 같이
패키지가 포함된 이름이 진짜 이름입니다! 디렉토리의 의의가 같은 이름의 파일들을 덮어씌워지지 않는 등의 분류를 위해 사용되는 것인
만큼, 당연하게도 두 클래스 파일의 패키지가 서로 다르다면 클래스 파일의 이름이 서로 같아도 상관없습니다!
패키지는 협업 등의 상황에서 파일 이름이 같을 경우가 수없이 많을 수 있는데, 이를 패키지로 관리하면서 미연에 방지합니다!
(올바른 패키지명 작성 및 자세한 정보에 대해서는 서칭을 권장합니다!)
위 모습처럼 소스 파일 내에서 1행에 선언되면서 해당 패키지에 속하게 됨을 알 수 있습니다.
또 왼쪽 목록을 보시면 패키지가 지정되지 않은 파일들은 디폴트 패키지(default package)에 속한다는 것을 볼 수 있고
같은 소스 내 클래스들은 모두 해당 패키지에 속한다는 것을 보실 수 있습니다.
클래스패스(classpath)
클래스패스(classpath)는 클래스 파일의 위치를 나타내는 경로(path)라는 의미로 클래스패스라고 합니다.
우선 본인이 사용하는 IDE Workspace 경로를 찾고 bin 폴더까지의 경로를 복사합니다. 이후 cmd 창을 통해
cd(change directory) 명령어를 통해 해당 경로로 디렉토리를 변경해줍니다.
ex) C:\Java\projects\JavaBasic\bin
이후 java.패키지경로.실행클래스파일명 ← 타이핑해줍니다.
ex) java com.vanilla.javaStudy.PackageExam
그러면 해당 클래스 파일이 실행되는 것을 확인하실 수 있습니다.
그런데 여기서 문제가 있습니다.
해당 클래스 파일을 실행시키고 싶을 때마다 매번 해당 디렉토리로 변경해주어야 한다는 것입니다.
따라서 환경변수를 이용하는 것인데, 환경변수를 설정하는 방법은 다음과 같습니다.
(윈도우를 기준)
내 컴퓨터 오른쪽 클릭 후 속성 클릭 - 스크롤을 내려서 밑에 관련 설정에 있는 고급 시스템 설정 클릭 - 하단 환경 변수 클릭
- 시스템 변수 탭의 새로 만들기 클릭 - 변수 이름 입력(ex.classpath) 후 변수 값에 디렉토리 붙여넣기(ex.C:\Java\projects\JavaBasic\bin)
이제 cmd 창을 다시 띄워서 java.패키지경로.실행클래스파일명 타이핑 해보시면 이전과 같이 해당 디렉토리로 변경해주지 않고도
바로 실행하실 수 있음을 확인할 수 있습니다!