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

+ Recent posts