본문 바로가기
java/개념

패키지 만들기

by unhyepnhj 2024. 6. 2.

패키지 선언

- 자바 소스 파일(.java)이 컴파일되어 생기는 클래스 파일(.class)은 반드시 패키지에 소속되어야 함

- 클래스가 소속될 패키지명은 package 키워드를 사용하여 소스 파일의 첫 줄에 선언

package 패키지명;
package UI;		//Tools 클래스를 컴파일하여 UI 패키지에 저장

public class Tools{	//Tools 클래스의 경로명-> UI.Tools
	...
}

//UI 패키지의 Tools 클래스 예시

- Tools.java  파일이 컴파일된 Tools.class 파일은 UI 디렉터리에 저장

- Tools 클래스(Tools.class) 파일의 경로명은 UI.Tools

- 다름 패키지에 있는 클래스에서 Tools 클래스를 사용하려면 import문 필요

 

*import문: 다른 패키지에 있는 클래스를 사용하고자 할 때 컴파일러에게 해당 클래스의 경로명을 알려주는 문장

import UI.Tools;
package Graphic;	//Line 클래스를 Graphic 패키지에 저장

import UI.Tools;	//Tools의 클래스 import

public class Line{
	public void draw(){
    	Tools t = new Tools();	//다른 패키지의 Tools 사용 가능
    }
}

//Tools를 import하여 사용하는 Graphic 패키지의 Line 클래스 예시

이클립스로 쉽게 패키지 만들기

- 우클릭하고 new>package 해서 만들면 된다 


디폴트 패키지

- 패키지 선언문 없이 만들어진 클래스의 패키지

- 디폴트 패키지는 현제 디렉터리


패키지 특징

 

1. 패키지 계층 구조

- 서로 관련 있는 클래스 파일을 하나의 패키지로 계층화

- 관리 용이

 

2. 패키지 별 접근 제한

- 패키지에 포함된 클래스들끼리는 자유롭게 접근

- 다른 패키지의 클래스들은 접근 차단

- 패키지를 접근 권한의 범위로 이용 가능

 

3. 동일한 이름의 클래스를 다른 패키지에 작성 가능

- 같은 패키지 내에서 동일한 이름의 클래스나 인터페이스 존재 불가

- 다른 패키지에서는 가능(클래스 이름은 패키지명을 포함한 전체 경로명을 사용하므로 패키지가 달라지면 경로명이 달라짐)

- 다른 디렉터리에 있으므로 서로 다른 파일로 인지

 

4. 소프트웨어 재사용성 향상

- 같거나 유사한 기능을 수행하는 클래스나 인터페이스를 재작성하지 않고 import하여 사용

'java > 개념' 카테고리의 다른 글

JDK에서 제공하는 패키지  (0) 2024.06.02
모듈  (0) 2024.06.02
import와 클래스 경로  (0) 2024.05.23
패키지(package)  (0) 2024.05.23
인터페이스(interface)  (0) 2024.05.23