1) 패키지 (Package)

패키지 (Package)

 

예를 들어 HousePark, HouseKim 등의 클래스들이 있다면 이것을 house라는 패키지로 분류하면 편리할 것이다.

 

HouseKim.java


package house;

public class HouseKim {
}

 

HousePark.java


package house;

public class HousePark {
}

 

패키지를 만들때는 위 예제와 같이 package라는 키워드를 사용한다.

 

다른 클래스에서 HouseKim 클래스를 사용하려면 다음과 같이 import 를 해야한다.

 


import house.HouseKim;

 

또는 다음과 같이 * 기호를 이용할 수도 있다.

 


import house.*;

 

위와 같이 *를 이용하면 house 패키지내의 모든 클래스를 import 하게 된다.

 

만약 HouseKim과 동일한 패키지 내에 있는 클래스라면 HouseKim 클래스를 사용하기 위해서 import 를 따로 할 필요는 없다. 같은 패키지 내에서는 import 없이 사용이 가능하다.

 

서브패키지 (Subpackage)

 

EungYongPark 이라는 클래스를 다음과 같이 만들어 보자.

 


package house.person;

public class EungYongPark {

}

위 예제를 보면 패키지명이 house.person 으로 되어 있다. 이렇게 도트(.)를 이용하여 house 패키지의 하위 패키지를 계속해서 만들어 나갈 수 있는데 이것을 서브패키지라고 한다.

 

이클립스에서 위와같은 클래스를 작성하고 실제 파일이 생성된 디렉토리를 확인해 보면 java파일과 컴파일된 class들이 패키지구조와 동일한 구조의 디렉토리로 저장되어 있는것을 확인 할 수 있을 것이다.

 

이렇게 패키지를 이용하면 다음과 같은 이점이 있다.

  • 클래스의 분류가 용이하다. (비슷한 것 끼리 묶는다)
  • 패키지가 다르다면 동일한 클래스명을 사용할 수 있다.