본문 바로가기
Work & Study/JAVA (& 혼공자Java)

자바(Java) - 패키지와 접근 제한자1 (패키지선언 & import문)

by a.k.a DUKI 2020. 10. 19.
728x90
반응형

자바에서는 클래스를 체계적으로 고나리하기 위해 패키지(package)를 사용한다. 패키지를 선언하는 방법과 패키지 간의 접근을 위한 접근 제한자에 대해 이야기 해보려 한다.

 

패키지

  • 패키지의 물리적인 형태는 파일 시스템의 폴더 이다.

  • 패키지는 클래스의 일부분으로, 클래스를 유일하게 만들어주는 식별자 역할을 한다.

  • 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다.

  • 클래스의 전체 이름은 '패키지 이름+클래스 이름'으로 표현

com.mycompany.A
com.yourcompany.B

혼공자 유툽 참고

 

패키지 선언

클래스 작성 시 해당 클래스가 어떤 패키지에 속할 것인지를 선언하는 것

package 상위패키지.하위패키지;

public class ClassName { ... }

 

패키지 이름 규칙

  • 숫자로 시작 불가
  • _ 및 $를 제외한 특수문자 사용 불가
  • java로 시작하는 패키지는 자바 표준 API에서만 사용하므로 사용 불가
  • 모두 소문자로 작성하는 것이 관례

 

예시1) 패키지 생성

sec06 패키지 > exam01 패키지 > com 패키지 > mycom 패키지 > Car.java 클래스

package sec06.exam01.com.mycom;

public class Car {

}

 

 

import문

사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속된 경우

해당 패키지 클래스 또는 인터페이스를 가져와 사용할 것임을 컴파일러에 알려주는 것

import 상위패키지.하위패키지.클래스이름;
import 상위패키지.하위패키지.*;

import문은 패키지 선언과 클래스 성언 사이에 작성한다.

만약, 사용하려는 클래스들이 동일한 패키지 소속이라면 개별 import문 작성보다는 *를 사용하여 해당 패키지에 소속된 클래스들을 사용할 것임을 알려주는 것도 좋은 방법이다.

import문은 개수에 제한이 없고 얼마든지 추가가 가능하다.

 

예시2) import문

package com.mycom;

imort com.hankook.Tire;
//또는 
//import com.hankook.*;

public class Car{
	Tire tire = new Tire();
}    

 

하위 패키지는 별도의 import를 해야한다.

import com.hankook.*;
import com.hankook.project.*;

다른 패키지에 동일한 이름의 클래스가 있을 경우에는 import와 상관없이 클래스 전체 이름을 기술해야한다.

 

 

예시2) import문2

패키지는 아래와 같이 생성한다.

package sec06.exam02.mycom;

import sec06.exam02.hankook.SnowTire;
import sec06.exam02.hyundai.Engine;
import sec06.exam02.kumho.BigWidthTire;

public class Car {
	// 필드
	Engine enine = new Engine();
	SnowTire tire1 = new SnowTire();
	BigWidthTire tire2 = new BigWidthTire();
	// Tire클래스는 hankook과 kumho 모두 있어서 하위 패키지 이름 모두 작성
	sec06.exam02.hankook.Tire tire3 = new sec06.exam02.hankook.Tire();
	sec06.exam02.kumho.Tire tire4 = new sec06.exam02.kumho.Tire();

}

 

import문은 단축키로도 이용가능하다. Ctrl + Shift + o 를 누르면 자동으로 import 된다.

 

 

 

 

 


※용어 정리

  • 패키지 선언: 해당 클래스 또는 인터페이스가 어떤 패키지에 속할 것인지를 선언하는 것을 패키지 선언이라 한다. 

  • import문: 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되어 있다면, import문으로 해당 패키지의 클래스 또는 인터페이스를 가져와 사용할 것임을 컴파일러에게 알려줘야 한다.

 

본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.

 

728x90
반응형