[JAVA] 김영한의 실전 자바 ; 패키지

선뀰·2023년 12월 27일
0

JAVA

목록 보기
13/25

패키지

기능이 추가되어 프로그램이 아주 커지게 된다면?
비슷한 목적으로 생성된 클래스 파일들을 한곳에 모아 둔 폴더를 의미한다.
패키지 안에 자바 클래스가 있는 것이다. 이름 그대로 물건을 운송하기 위한 포장 용기나 묶음이다.

패키지 사용

패키지의 위치에 주의해야 한다.

Data data = new Data(); // 같은 패키지에 있을 때
pack.a.User user = new pack.a.User(); // 다른 패키지에 있는 것을 불러올 때

패키지 - import

import를 사용하면 다른 패키지에 있는 클래스를 가져와서 사용할 수 있다.
코드에서는 패키지 명을 생략하고 클래스 이름만 적을 수 있다.

  • 모든 패키지를 가져와서 사용할 때
    import pack.a.;
    를 사용하여 모든 패키지에 있는 클래스를 가져온다.
    pack.a패키지에 있는 모든 클래스를 패키지 명을 생략하고 사용할 수 있다.
    하위 폴더는 임포트 되지 않고, 클래스 파일만 임포트 된다.

  • 클래스 이름 중복
    패키지 덕분에 클래스 이름이 같아도 패키지 이름으로 구분해서 같은 이름의 클래스를 사용할 수 있다.

pack.a.User
pack.b.User
클래스 이름이 둘 다 User이지만 패키지 이름으로 대상을 구분 가능하다.

  • import는 하나만 할 수 있기 때문에
package pack;

import pack.a.User;

public class PackageMain3 {
    public static void main(String[] args) {
       User userA = new User();
       pack.b.User userB = new pack.b.User(); // import가 한번만 가능하기 때문에 자주 사용하지 않는 것은 pack.b.User나머지를 패키지를 포함한 전체 경로를 적어주면 된다.
    }
}

class ABC {

}
외부 클래스는 다른 패키지에서 임포트 불가능
public class BCD {

}
public 클래스는 다른 패키지에서 임포트 가능

패키지 규칙

패키지의 이름과 위치는 폴더(디렉토리) 위치와 같아야 한다.
패키지의 이름은 모두 소문자를 사용한다.
패키지 이름의 앞 부분에는 일반적으로 회사의 도메인 이름을 거꾸로 사용한다.
com.company.myapp과 같이 사용한다.
도메인 이름을 거꾸로 사용하면 중복을 방지할 수 있다. = 외부에 제공한다면 꼭 지키는 것이 좋다.

패키지 활용

패키지를 구성할 때 서로 관련된 클래스는 하나의 패키지에 모으고, 관련이 적은 클래스는 다른 패키지로 분리하는 것이 좋다.

profile
공부 기록

0개의 댓글