1. 패키지 (package)
- 하나의 소스 파일에는 첫 번째 문장으로 단 하나의 패키지 선언만 허용한다.
- 모든 클래스는 반드시 하나의 패키지에 속해야 한다.
- 패키지는 점(.)을 구분자로 하여 계층 구조로 구성된다.
- 패키지는 물리적인 클래스 파일(.class)을 포함하는 하나의 디렉터리이다.
- 같은 이름의 클래스가 다른 패키지에 있을 수 있다.
// 디렉토리 : com/company/sample
package com.company.sample;
class Sample {}
1.1. 패키지 선언
package com.company.sample; // 패키지 선언
- 주석과 공백을 제외한 가장 첫 번째 라인에 선언한다.
- 하나의 소스 파일에 단 한 번만 선언 가능하다.
- 선언된 패키지안에 해당 클래스가 속해야 한다.
- 패키지 명은 대소문자 구분이 되지만 클래스와 구분을 하기 위해 소문자로 하는 것을 원칙으로 한다.
- 자바에서 기본적으로 '이름 없는 패키지(unnamed package)가 있어 패키지를 선언하지 않고도 문제없이 사용할 수 있다.
2. import 문
- 다른 패키지의 클래스를 사용하려면 패키 지명 + 클래스 이름을 사용해야 한다. 이런 점이 불편하여 import를 통해 미리 선언할 수 있다.
- 컴파일러는 import문을 보고 각 클래스 명 앞에 패키지 명을 붙인다.
- 같은 패키지 내의 클래스 들은 import문을 저장하지 않고 패키지 명 생략 가능하다.
package com.company.sample;
import java.util.Scanner; // Sacnner 선언
import java.util.StringTokenizer; // StringTokenizer 선언
class Sample {
main() {
// 패키지명 + 클래스 이름
// 이런 부분이 불편하여 import로 미리 선언
java.util.Scanner sc = new java.util.Scanner(System.in);
}
}
2.1. import 선언문
import java.util.Scanner;
import java.util.*; // 패키지 하위 클래스 전부 미리 선언
'*'는 하위 패키지의 클래스까지 포함하는 것이 아니다.
java.lang은 묵시적으로 모든 소스파일에 선언되어 있어 언제든지 사용 가능하다.
2.2. static import 문
static 멤버로 호출할 때 클래스 명을 생략할 수 있다.
import static java.lang.Integer;
import static java.lang.Math.random;
import static java.lang.System.ou;
System.out.println(Math.random());
System.out.println(random()); // 클래스 명 생략
'개발 언어 > Java' 카테고리의 다른 글
[Java] 다형성 (0) | 2021.08.25 |
---|---|
[Java] 제어자 (0) | 2021.08.25 |
[Java] 상속 (0) | 2021.08.24 |
[Java] 변수의 초기화 (0) | 2021.08.24 |
[Java] 생성자 (0) | 2021.08.24 |