프로그래밍/Java | 2014. 6. 25. 23:56
Package 와 Import
Package
클래스의 묶음이며 폴더의 개념과 같다.
서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다.
같은 이름의 클래스라도 서로 다른 패키지에 존재하는 것이 가능하다.
다른 개발자가 만든 클래스 라이브러리와 충돌되는것을 막을 수 있다.
단순히 클래스명으로만 클래스를 구분했지만
실제 클래스의 이름(Full name)은 패키지명을 포함한 것.
예를 들어
String클래스의 패키지명을 포함한 이름은 java.lang.String이다.
Package의 선언
package 패키지명;
선언문은 반드시 소스파일에서 주석과 공백을 제외한 첫번째 문장이어야 한다.
하나의 소스파일에는 단 한번만 선언될 수 있다.
패키지는 점(.)을 구분자로 하여 계층 구조로 구성할 수 있다.
패키지는 물리적으로 클래스 파일(.class)을 포함하는 하나의 디렉토리이다.
패키지명은 대소문자를 모두 허용하지만,
클래스명과 쉽게 구분하기 위해서 소문자로 하는것을 원칙으로 한다.
모든 클래스는 반드시 하나의 패키지에 포함되어야 한다.
Import
참고.
import문은 프로그램의 성능에 전혀 영향을 미치지 않는다. import문을 많이 사용하면 컴파일 시간이 아주 조금 더 거릴 뿐.
import 패키지명.클래스명 ;
또는
import 패키지명.*;
'패키지명.*' 을 사용하면, 지정된 패키지에 속하는 모든 클래스를 패키지명 없이 사용할 수 있다.
클래스 이름을 지정해주는 대신 '*'을 사용하면, 컴파일러는 해당 패키지에서 일치하는 클래스이름을 찾아야하는 수고를 더 해야 할 것이다. 단지 그뿐이니까 실행 시 성능의 차이는 전혀 없다.! 걱정 끝!
단, 하위 패키지의 클래스까지 포함하는 것은 아니라는 것!
EX>
import java.util.*;
import java.text.*;
이걸
import java.*;
한다고 해서 되는게 아니라는 말씀.!
[Java] 접근 제어자(access modifier) - public, protected, ( default ), private (0) | 2014.06.27 |
---|---|
[Java] 제어자 (modifier)에 대한 이야기 (0) | 2014.06.27 |
[Java] Super (0) | 2014.06.25 |
[Java] 오버라이딩(Overriding) (0) | 2014.06.25 |
[Java] 단일상속(single inheritance) & Object 클래스 (0) | 2014.06.24 |
[Java] 상속(inheritance)에 대한 이야기 (0) | 2014.06.24 |
[Java] 변수 초기화에 대한 이야기 (0) | 2014.06.24 |
[Java] 생성자(Constructor)에 대한 이야기 (0) | 2014.06.24 |
[Java] 재귀호출에 대한 이야기 (0) | 2014.06.23 |
[Java] JVM의 메모리 구조 (0) | 2014.06.23 |
Recent Comments