자바
자바 패키지와 import문
cdbitmana
2020. 10. 24. 09:55
패키지의 물리적인 형태는 파일 시스템의 폴더
패키지는 단순히 폴더 기능만 하는 것이 아니라 클래스의 일부분이다.
클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다.
클래스의 전체 이름은 '패키지 이름+클래스 이름' 인데 패키지의 상,하위는 도트(.)를 이용해서 표현한다.
상위패키지.하위패키지.클래스
회사들 간에 패키지가 서로 중복되지 않도록 흔히 회사의 도메인 이름으로 패키지를 만든다.
도메인 이름 역순으로 패키지 이름을 지어주는데 포괄적인 이름이 상위 패키지가 되도록 하기 위해서이다.
마지막에는 프로젝트 이름을 붙여주는 것이 관례이다.
import문을 사용해 다른 패키지에 속해 있는 클래스나 인터페이스를 사용할 수 있다.
import 상위패키지.하위패키지.클래스이름;
import 상위패키지.하위패키지.*;
import문은 패키지 선언과 클래스 선언 사이에 작성한다.
주의할 점은 상위 패키지를 import한다고 하위 패키지까지 import되는 것은 아니라는 것이다.
자바는 패키지 전체 이름으로 식별하기 때문에
상위패키지
상위패키지.하위패키지
를 서로 다른 패키지로 인식한다.
경우에 따라서는 import문과 상관없이 패키지가 포함된 클래스 전체 이름을 써야할 때가 있다.
서로 다른 패키지에 동일한 이름의 클래스가 존재하고, 두 패키지 모두 import 되었을 때 이 경우에는 정확하게 패키지가 포함된 클래스 전체 이름을 써야 한다.
import exam01.one.*;
import exam02.two.*;
// exam01.one 과 exam02.two 패키지에 'Practice'라는 동일한 이름의 클래스가 두 패키지에 모두 있는 경우
exam01.one.Practice practice = new exam01.one.Practice( );
exam02.two.Practice practice = new exam02.two.Practice( );