Java 패키지

I C-AN·2021년 7월 27일
0

Java

목록 보기
15/26
post-thumbnail

패키지

서로 관련된 클래스의 묶음

  • 클래스는 클래스 파일(.class), 패키지는 폴더, 하위 패키지는 하위 폴더
  • 클래스의 실제 이름은 패키지를 포함 (java.lang.String)

패키지의 선언

package test.util;
  • 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언
  • 같은 소스파일의 클래스들은 모두 같은 패키지에 속하게 된다
  • 패키지 선언이 없으면 이름없는(default) 패키지에 속하게 된다

클래스 패스 (classpath)

  • 클래스 파일의 위치를 알려주는 경로
  • 환경변수 classpath로 관리하며, 경로 간의 구분자는 ;를 사용

import문

클래스를 사용할 때 패키지이름을 생략할 수 있다
컴파일러에게 클래스가 속한 패키지를 알려준다

import문의 선언

// import를 하지 않았을 때
class ImportTest {
	java.util.Date today = new java.util.Date();
}

// import를 했을 때
import java.util.Date;

class ImportTest2 {
	Date today = new Date();
}

// java.util 패키지의 모든 클래스 import
import java.util.*

// 이름이 겹치는 패키지
import java.sql.Date;
import java.util.Date;
  • java.lang 패키지의 클래스는 import 하지 않고도 사용할 수 있다
    - String, Object, System, Thread ...
  • * 은 해당 패키지의 모든 클래스를 사용할 수 있게 한다
  • import문은 패키지문과 클래스 선언 사이에 선언한다
  • import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향없음
  • 이름이 같은 클래스가 속한 두 패키지를 import할 때는 클래스 앞에 패키지명을 붙여줘야 한다

static import문

static 멤버를 사용할 때 클래스 이름을 생략할 수 있게 해준다
필요할 때만 사용하도록 주의

import static java.lang.Integer.*; // Integer 클래스의 모든 static 메서드
import static java.lang.Math.random; // Math.random()만, 괄호 안붙임
import static java.lang.System.out; // System.out을 out만으로 참조 가능

// 같은 기능
System.out.println(Math.random()); // 생략 가능
out.println(random());
profile
할 수 있다

0개의 댓글