[JAVA] 패키지

Coastby·2022년 8월 4일
0

JAVA

목록 보기
15/33

패키지

패키지는 하나의 클래스 안에서 같은 이름의 클래스들을 사용하기 위한 방법. 클래스가 많아짐에 따라 같은 이름을 가진 클래스가 생겨날 가능성이 높아지게 되는데 이름의 충돌을 방지하기 위해 고안된 것이 패키지라고 할 수 있다.

정보 공학에서는 ‘이름의 충돌'이라는 문제를 해결하기 위해서 다양한 노력을 하고 있다. 전역변수와 지역변수, 객체도 그 연장선에 있다고 볼 수 있다.

패키지의 이름은 일반적으로 소유하고 있는 도메인의 이름을 사용하는 것이 일반적이다.

자바 프로젝트 안에서 패키지 이름에서 . 으로 구분된 것은 폴더 디렉토리와 일치한다. 그렇기 때문에 패키지가 다르면 물리적으로 같은 디렉토리에 존재할 수 없다.

서로 다른 패키지에 있는 클래스를 가져오려면 import를 통해서 다른 패키지(~example1)의 클래스(A)를 현재의 소스코드로 불러올 수 있다.

package org.opentutorials.javatutorials.packages.example2;
import org.opentutorials.javatutorials.packages.example1.A;

만약 특정 패키지에 있는 모든 클래스를 로드하고 싶다면 아래와 같이 하면 된다. 대신 원하지 않는 결과까지 가져올 수 있다.

package org.opentutorials.javatutorials.packages.example2;
import org.opentutorials.javatutorials.packages.example1.*;

○ 손컴파일

아래 디렉토리에 Selfcompile 파일 생성

터미널에서 컴파일 실행 : …폴더이름/*.java 는 폴더내의 모든 java 파일을 컴파일하기

joyejiui-MacBook-Pro:java_tutorials yj$ javac src/org/opentutorials/javatutorials/packages/example3/*.java

위의 명령으로는 같은 폴더 내에 class 파일이 생성된다. bin 폴더에 클래스 파일을 생성하기 위해서는 아래와 같이 -d bin을 붙여야한다.

joyejiui-MacBook-Pro:java_tutorials yj$ javac src/org/opentutorials/javatutorials/packages/example3/*.java -d bin

bin 폴더 안에 동일 이름의 class 파일 생성된 것을 확인한다.

○ 로드된 패키지들간의 중복

패키지를 여러개 임포트하였을 때 서로 다른 패키지 안에 같은 이름의 클래스가 있다면 패키지이름.클래스이름 으로 표기할 수 있다.

profile
훈이야 화이팅

0개의 댓글