패키지
목표 및 학습할 것
-
목표 : 자바의 Class에 대해 학습하세요.
package 키워드
자바에서는 package를 여러 관련된 classes, interfaces, 혹은 sub-package를 묶기위해 사용합니다. package를 씀으로써의 장점으로는 아래와 같습니다.
- 관련된 타입들을 찾기 쉽게 만들어 줍니다.
- 이름의 중복을 피할 수 있습니다.
- 예를 들어, com.red.Application, com.blue.Application
- package path를 사용하여 접근을 통제할 수 있습니다.
import 키워드
자바에서 라이브러리에서 package, class를 쓰기위해 import 키워드를 사용합니다.
import com.packageName.Class; // import a single class
import com.packageName.*; // import the whole package
// 예제
import java.util.Scanner;
클래스패스
CLASSPATH는 자바 어플리케이션이 컴파일 혹은 실행 될 때, JVM이 CLASSPATH 위치에 있는 class를 찾고 로드 할 수 있습니다.
CLASSPATH 환경변수
CLASSPATH 환경변수의 위치는 os마다 상이합니다. 우리가 보통 jdk를 설치한 후에 jdk 디렉토리를 보면 bin 디렉토리를 찾을 수 있는데, 이 bin 디렉토리가 컴파일러와 실행자를 가지고 있습니다.
- MS Windows : 윈도우 UI를 통해 진행
- Linux : ~/.bashrc(bash), ~/.cshrc(c shell), ~/.profile(sh)
-classpath 옵션
CLASSPATH (보통 대문자로 표기)의 옵션은 -classpath (-cp)로 커멘드라인 옵션이 존재하니다.
접근지시자
영어로 Access Modifier이라 합니다. 총 4가지가 존재
- public : 다른 package에서 사용 가능
- protected : 같은 class 안과 sub-class에서 사용 가능
- default (no keyword) : 같은 package 안에서 사용 가능
- private : 같은 class 안에서만 사용 가능
Modifier | Class | Package | Subclass | World |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
출처 https://www.baeldung.com/java-packages https://www.w3schools.com/java/java_packages.asp https://www.baeldung.com/java-classpath-syntax https://docs.oracle.com/javase/tutorial/essential/environment/paths.html https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html https://www.baeldung.com/java-access-modifiers