본문 바로가기
Java/Java 기초문법

[JAVA 기초] 자바 package와 import

by dev수니 2021. 3. 11.
반응형

 

 1  package

 


 

package란 클래스를 모아놓은 일정의 집합니다. 만약 잔순한 프로그램이 아니라 규모가 큰 작업을 할 때는 상당히 많은 클래스를 사용할 것이다. 이때 유지보수 및 관리를 용이하게 하기 위해서 관련있는 클래스끼리 묶어서 분리하는 일종의 디렉토리로서 package를 사용한다.

 

 

 

1. 먼저 패기키를 만들기 위해 src 폴더에 마우스 우클릭 후 New -> Package 를 클릭한다.

 

2. 대화상자가 나타나면 name에 패키지 이름을 적어준다. package이름은 아래와 같이 소문자로 시작해줘야 한다.(권장) 단어가 새로 나올때 대문자로 적어주고 Finish를 눌러준다.

 

3. 다음과 같이 패키지가 추가된 모습을 볼 수 있다. 이제 패키지에 마우스 우클릭 후 클래스를 만들어 주면된다.

 

4. 생성된 클래스의 소스코드를 보면 맨 첫 줄에 package javaPackageTutorial; 라고 작성되어있는 것을 확인한다. 이는 현재 클래스가 javaPackageTutorial 패키지에 속해있는 클래스라는 것을 의미한다. 만약 패키지를 만들지 않고 클래스를 생성하면 자동으로 default pakage에 속하게 된다.

 

 

 


 

 2  import

 


 

다른 패키지에 있는 클래스를 사용하고 싶을 때는 클래스의 이름으로 참조한다.

 

 

예를 들어 packgeA에 들어있는 pcaA 클래스를 사용하고 싶으면 다음과 같이 참조하면 된다.

 

1. packgeA의 pcaA 클래스에 say 메서드를 작성하고

 

2. packageB의 PacB클래스에서 packageA에 들어있는 PacA의 인스턴스를 생성하고 say를 호출하면 다음과 같이 정상적으로 메서드가 실행되는 것을 볼 수 있다.

 

3. 패키지 이름인 packageA로 클래스를 참조하여 객체를 생성하고 실행되는 것을 확인한 코드이다 그러나 참조해야 할 클래스가 많다면 일일이 경로를 써줘야 하고 코드가 상당히 복잡해 질 것이다. 이때 써주는 방법이 바로 import이다.

줄3에 import를 쓰고 참조할 패키지명과 클래스명을 같이 써주었다. 따라서 줄8에서 경로를 생략하고 인스턴스를 생성해도 같은 실행결과가 출력된다.  

 

 

 

 

import문은 컴파일러에세 패키지에 대한 정보를 제공한다. 그래서 컴파일할 때 컴파일러는 각각의 클래스 앞에 알맞은 경로를 붙여주게 되는 것이다.

 

 

앞단원에서 Scanner클래스를 사용하기 위해 import문을 사용했었다. import문을 보면 Scanner 클래스가 java패키지의 하위 패키지인 util에 속해있다는 것을 알수 있다. 만역 util 패키지에 속해 있는 모든 클래스를 사용하고 싶다면 클래스명 자리에 *를 붙여주면 된다.

 

import java.util.*;
// util 패키지 모든 클래스를 사용

 

 

 

 

 

 

반응형

댓글