IT 개발노트

package와 import 본문

기초튼튼/JAVA

package와 import

limsungju 2019. 6. 9. 21:46

1. package와 import
1.1 패키지(package)
- 서로 관련된 클래스와 인터페이스의 묶음.
- 클래스가 물리적으로 클래스파일(*.class)인 것처럼, 패키지는 물리적으로 폴더이다. 패키지는 서브패키지를 가질 수 있으며 '.'으로 구분한다.
- 클래스의 실제 이름(full name)은 패키지명이 포함된 것이다.
(String클래스의 full name은 java.lang.String)
- rt.jar는 Java API의 기본 클래스들을 압축한 파일
(JDK설치경로\jre\lib에 위치)

1.2 패키지의 선언
- 패키지는 소스파일에 첫 번째 문장(주석 제외)으로 단 한번 선언한다.
- 하나의 소스파일에 둘 이상의 클래스가 포함된 경우, 모두 같은 패키지에 속하게 된다.(하나의 소스파일에 단 하나의 public클래스만 허용한다.)
- 모든 클래스는 하나의 패키지에 속하며, 패키지가 선언되지 않은 클래스는 자동적으로 이름없는(unnamed) 패키지에 속하게 된다.

1.3 클래스패스(classpath) 설정
- 클래스패스(classpath)는 클래스파일(*.class)를 찾는 경로. 구분자는 ';'
- 클래스패스에 패키지가 포함된 폴더나 jar파일을(*.jar) 나열한다.
- 클래스패스가 없으면 자동적으로 현재 폴더가 포함되지만 클래스패스를 지정할 때는 현재 폴더(.)도 함께 추가해주어야 한다.
- 클래스패스로 자동 포함된 폴더 for 클래스파일(*.class) : 수동생성 해야함.
-> JDK설치경로\jre\classes
- 클래스패스로 자동 포함된 폴더 for jar파일(*.jar) : JDK설치시 자동생성됨.
-> JDK설치경로\jre\lib\ext

1.4 import문
- 사용할 클래스가 속한 패키지를 지정하는데 사용.
- import문을 사용하면 클래스를 사용할 때 패키지명을 생략할 수 있다.

- java.lang패키지의 클래스는 import하지 않고도 사용할 수 있다.
(String, Object, System, Thread ... 등등)

1.5 import문의 선언
- import문은 패키지문과 클래스선언의 사이에 선언한다.
-> 일반적인 소스파일(*.java)의 구성은 다음의 순서로 되어 있다.
--> 1. package문
--> 2. import문
--> 3. 클래스 선언

- import문을 선언하는 방법은 다음과 같다.
-> import 패키지명.클래스명;
--> import 패키지명.*; // 패키지명에 포함된 모든 클래스를 import한다는 의미

- import문은 컴파일 시에 처리되므로 프로그램의 성능에 아무런 영향을 미치지 않는다.

- 다음의 두 코드는 서로 의미가 다르다.

import java.util.*;
import java.text.*;

import java.*; // 불가능

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

'기초튼튼 > JAVA' 카테고리의 다른 글

다형성  (0) 2019.07.02
제어자  (0) 2019.07.01
오버라이딩  (0) 2019.06.07
상속  (0) 2019.06.07
변수의 초기화  (0) 2019.06.06