[JAVA] 패키지와 클래스 패스

mingsso·2024년 3월 10일
0

Java-Kotlin

목록 보기
6/17

1️⃣ 클래스 패스

자바 가상머신이 클래스 파일을 찾는 경로

  • 클래스 패스를 지정하지 않으면, 자바 가상머신은 필요한 클래스를 '현재 디렉터리'에서 찾음
  • 클래스 패스는 프로그래머가 직접 지정할 수 있음
  • 단, 프로그래머에 의해 클래스 패스가 설정되면 '현재 디렉터리'는 클래스 탐색 경로에서 제외됨
// 둘 이상의 클래스 패스 지정 가능
// 현재 디렉터리, C:\PackageStudy\MyClass 두 개의 경로 클래스 패스로 지정

// 1. 절대 경로 사용
C:\PackageStudy> set classpath=.;C:\PackageStudy\MyClass

// 2. 상대 경로 사용
C:\PackageStudy> set classpath=.;.\MyClass
  • 클래스 패스는 얼마든지 다시 지정할 수 있음
  • 클래스 패스는 이를 지정한 명령 프롬프트 창에서만 유효함


환경 변수에 classpath를 등록하여, 클래스 패스를 고정시킬 수도 있음 (좋은 방법은 아님)



2️⃣ 패키지의 이해

클래스를 구분하고 파악하는 데 도움을 주며, 클래스의 이름이 겹치는 문제도 해결할 수 있음

패키지 이름

  • 클래스의 이름과 구분이 되도록 패키지의 이름은 모두 소문자로 구성함
  • 인터넷 도메인 이름의 역순으로 패키지 이름을 구성함
  • 패키지 이름의 끝에 클래스를 정의한 주체 또는 팀을 구분하는 이름을 추가함
// 인터넷 도메인이 wxfx.com인 회사의 smart팀에서 개발한 클래스를 묶을 패키지 이름
com.wxfx.smart

// 패키지 com.wxfx.smart의 Circle 인스턴스 생성 문장
com.wxfx.smart.Circle c1 = new com.wxfx.smart.Circle(3.5)

인스턴스 생성 및 참조변수 선언 시 클래스의 이름 앞에 패키지 이름이 따라붙는 구조

패키지의 선언 및 컴파일 방법

클래스를 패키지로 묶을 때에는 해당 클래스를 담고 있는 소스파일의 상단에 패키지 선언을 해야 함

package com.wxfx.smart;   // 패키지 선언

public class Circle {
}
profile
🐥👩‍💻💰

0개의 댓글