가자미의 개발이야기
자바의 패키지는 왜 사용할까? 본문
이름이 같은 클래스를 사용해야 하는 상황이 발생한다고 상상해보자.
이름이 같은 클래스가 디렉토리에 존재할 수 없으니, 서로 이름이 다르게 하거나, 서로 위치를 달리해야 할 것이다.
이를 위해 사용되는게 자바의 패키지 개념이다.
패키지의 이름이 중복되지 않도록 하는 몇가지 규칙이 있다.
먼저 패키지 이름은 모두 소문자로 작성해야 한다.
인터넷 도메인 이름의 역순으로 이름을 구성해야 한다.(예를 들어 naver에서 가져온 클래스일 경우 com.naver;이런 식)
이름 끝에 클래스를 정의한 주체 또는 팀의 이름을 추가해야 한다.(예를 들면 철수가 정의한 패키지는 com.naver.chulsoo;)로 정의할 수 있다.
이렇게 생성된 패키지는 클래스패스-com디렉토리-naver디렉토리-chulsoo디렉토리-클래스로 클래스가 위치해야 할 디렉토리를 강제하는 역할을 한다.
명령 크롬프트에서 -d옵션을 통해 패키지에 필요한 디렉토리를 형성할 수 있다.
현재디렉토리>javac -d (. 패키지를 생성할 위치 정보)(컴파일할 자바파일 이름)
import com.naver.chulsoo.Circle;는 com.naver.chulsoo라는 패키지에 있는 Circle 클래스를 불러올때 패키지명은 생략하고 Circle로만 부르겠다는 의미이다.(그러나 이때 다른 패키지에 존재하는 Cricle 클래스를 임포트하면 컴파일 오류가 발생하니 주의하자)
import com.naver.chulsoo.*;는 패키지에 존재하는 모든 클래스를 불러오는 표현이지만 컴파일 오류가 발생할 가능성이 높아 자주 쓰진 않는다.
'Java > 자바 기본 문법' 카테고리의 다른 글
자바의 캡슐화란 무엇일까? (0) | 2021.01.05 |
---|---|
자바의 접근 수준 지시자와 정보 은닉 (0) | 2021.01.05 |
자바의 클래스 패스 (0) | 2021.01.05 |
자바의 문자열과 생성자 (0) | 2021.01.03 |
자바의 메소드와 클래스 (0) | 2021.01.03 |