JAVA/자바의 정석

[자바의 정석 - 기초편] 7. (4) 패키지 / 클래스 패스 / import문 / static import문

서영22 2023. 11. 30. 01:08

패키지 (package)

서로 관련된 클래스의 묶음

 

 

-  클래스는 클래스 파일(*.class), 패키지는 폴더, 하위 패키지는 하위 폴더

 

-  클래스의 실제 이름(full name)은 패키지를 포함 (java.lang.String)

 

-  rt.jar은 클래스들을 압축한 파일 (JDK 설치경로 \ jre \ lib에 위치)

 

 

 

 패키지의 선언 

- 패키지는 소스파일의 첫번째 문장으로 단 한번 선언

 

-  같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 됨

 

-  패키지 선언이 없으면 이름없는 패키지 (default package)에 속하게 됨

 

 

*bin 폴더 : 컴파일된 클래스 파일 (*.class)이 있는 곳

*src 폴더 : 소스파일 (*.java)이 있는 곳

 

 

 

 클래스 패스 (classpath) 

-  클래스 파일(*.class)의 위치를 알려주는 경로 (path)

 

-  환경변수 classpath로 관리하며 경로간의 구분자는 ;를 사용

 

-  classpath(환경변수)에 패키지의 루트를 등록해줘야 함

 

 

 

 import문 

-  클래스를 사용할 때 패키지 이름을 생략할 수 있음

 

 

-  컴파일러에게 클래스가 속한 패키지를 알려줌

 

-  java.lang 패키지 (기본 패키지)는 import 하지 않고도 사용가능 ex) String, Object, System, Tread ...

 

-  이클립스 단축키 : ctrl + shift + O

 

 

 

import문의 선언

import 패키지명.클래스명;
    또는
import 패키지명.*;    // * : 모든 클래스

 

-  패키지문과 클래스 선언 사이에 선언

 

 

-  컴파일 시 처리되므로 프로그램 성능에 영향 없음

 

-  이름이 같은 클래스가 속한 두 패키지를 import 할 때는 클래스 앞에 패키지 명을 붙여줘야 함

 

 

< util 패키지와 text 패키지의 모든 클래스 import >
import java. util. *;
import java. text. *;


< java 패키지의 모든 클래스 import >
import java. *;

위의 두줄을 밑에 한줄로 사용 불가능! 다른 의미임

 

 

 

 stataic import문 

-  static 멤버를 사용할 때 클래스 이름을 생략할 수 있게 해줌