학습할 것
- package 키워드
- import 키워드
- 클래스패스
- CLASSPATH 환경변수
- -classpath 옵션
- 접근지시자
package 키워드
- 패키지
- 클래스를 구분짓는 폴더 개념
- 자바는 패키지의 가장 상위 디렉터리(root)에서 실행해야 한다는 약속이 있기 때문에 해당 패키지로 가서 컴파일하지 않는다.
- 소스에 가장 첫 줄에 있어야 하고, 패키지 선언은 소스 하나에 하나만 있어야 한다.
- 패키지 이름과 위치한 디렉터리의 이름이 같아야 한다.
- 패키지 이름을 java로 시작하면 안된다.
- 모든 클래스에는 정의도니 클래스 이름과 패키지 이름이 있다.
- FQCN(Full Qulified Class Name): 패키지 이름 + 클래스 이름을 합쳐 완전하게 한 클래스로 표현할 수 있어야 한다.
- 빌트-인 패키기(built-in package)
- java.lang, java.util 패키지는 import하지 않아도 알아서 해당 패키지의 클래스를 불러와 사용할 수 있다.
import 키워드
- 다른 패키지명에 있는 클래스를 찾지 못할 때 사용한다.
- 빌트-인 패키지는 import하지 않아도 사용이 가능하다.
- import static
- static한 변수, 메소드를 사용하고자 할 때 용이하다.
- import static을 사용하지 않으면 클래스.클래스변수 또는 클래스.메소드 형식으로 사용해야 하지만 해당 변수, 메소드만 import하여 사용할 수 있다.
클래스패스
- 클래스를 찾기위한 경로
- JVM이 프로그램을 실행할 때 클래스파일을 찾는데 클래스파일(기준이 되는 경로)을 사용한다.
- .java를 컴파일하면 바이트 코드로 변환된 .class 파일이 생성된다. java runtime으로 이 .class 파일에 포함된 명령을 실행하면 해당 파일을 찾을 수 있어야 한다.
- .class파일을 찾을 때, classpath에 지정된 경로를 사용한다.
- classpath 지정 방법( ;으로 여러 디렉터리를 구분하여 줄 수 있다.)
- CLASSPATH 환경변수 사용
- java runtime에서 -classpath 옵션 사용
CLASSPATH 환경변수
- 컴퓨터 시스템 변수 설정을 통해 지정할 수 있다.
- JVM이 시작될 때 JVM의 클래스 로더는 CLASSPATH 환경 변수를 호출한다.
- CLASSPATH 환경변수 지정 방법
- https://hyoje420.tistory.com/7
-classpath 옵션
- 컴파일러가 컴파일하기 위해서 필요로 하는 참조할 클래스 파일들을 찾기 위해서 컴파일 시 파일 경로를 지정해주는 옵션
javac <option> <source files> java <option> <source files>
- 옵션에 -classpath 또는 -cp 를 주어 설정할 수 있다.
접근지시자
- 접근지시자는 클래스, 메소드, 인스턴스 및 클래스 변수를 선언할 때 사용한다.
- 객체지향에서 정보은닉, 캡슐화에 사용된다.
- | 동일 클래스 | 동일 패키지 | 상속 관계 | 그 외 |
---|---|---|---|---|
public | O | O | O | O |
protected | O | O | O | X |
default | O | O | X | X |
private | O | X | X | X |
** 출처 온라인 자바 스터디#7 패키지