본문 바로가기
Back-end/java spring

[Java] 자바 공부 - 4, package란?

by kkkdh 2022. 12. 26.
728x90

C++나 여타 다른 언어에서 프로젝트를 폴더에 나눠 관리하는 방식으로 코딩을 많이 진행했는데, 이번에 자바를 공부하니 패키지라는 단위로 소스 코드들을 나눠 관리하는 방식을 처음 접하게 되어서 공부 목적으로 자바 패키지에 대해 정리해보려 합니다.


Java Package란?

자바 패키지(Java package)는 자바 클래스들을 여러 namespace로 정리하며, 소속된 각 class에 대해 고유한 namespace를 제공한다. 동일한 package 내의 class들은 서로의 package-private 및 protected 멤버들에 접근할 수 있다. 자바 패키지는 jar 파일이라는 압축 파일에 저장할 수 있으며, 클래스들을 하나씩이 아닌 묶음으로 더 빠르게 다운로드할 수 있다.

- 위키백과 (자바 패키지)

 

위키 백과에 따르면 자바 패키지를 위와 같이 정의하고 있습니다.

 

위의 정의를 이해하기 위해서는 namespace 개념을 먼저 알아야 합니다. 네임스페이스를 또 위키백과에서는 다음과 같이 정리하고 있습니다.

 

이름공간 또는 네임스페이스(namespace)는 개체를 구분할 수 있는 범위를 나타내는 말로 일반적으로 하나의 이름 공간에서는 하나의 이름이 단 하나의 개체만을 가리키게 된다.

 

다시 패키지의 정의로 돌아가서 개념을 이해해보면,

 

자바 패키지를 사용함으로써 프로젝트에 작성된 소스 코드의 규모가 커짐에 따라서 서로 다른 목적에도 동일한 이름을 갖는 class가 등장할 수 있는데, 이러한 상황 속에 각각의 class와 멤버들의 고유성을 보장하기 위해(식별하기 위해로 이해하면 좋을 것 같다.) 여러 개의 패키지를 만들어 각 패키지에 클래스들을 분리하여 저장하고, 각각의 패키지 내에서 네임스페이스를 제공하여 충돌을 피할 수 있다.

 

라고 이해할 수 있을 것 같습니다.

 

결국 자바 패키지를 사용함으로써 얻는 이점클래스 명의 고유성을 보장할 수 있음인 것이죠


Package Import

다음과 같이 import 문을 사용해 package를 import 해서 사용할 수 있다. 

import package_name.class_name;
import package_name.*; // 해당 패키지내의 모든 클래스를 패키지명 없이 사용 가능

public class Test {
...
}

Reference

https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%ED%8C%A8%ED%82%A4%EC%A7%80

 

자바 패키지 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 자바 패키지(Java package)는 자바 클래스들을 여러 이름공간으로 정리하며[1], 소속된 각 형에 대해 고유한 이름공간을 제공한다. 동일한 패키지 내의 클래스들은

ko.wikipedia.org

https://mozi.tistory.com/548

 

[JAVA] 자바 패키지(Package)란?

자바 패키지란 자바 패키지란 클래스들의 모음집 입니다. 패키지를 통해서 라이브러리끼리 구분이 가능합니다. 패키지를 사용하는 이유는 클래스명의 고유성을 보장하기 위함입니다. 때로는

mozi.tistory.com

https://doozi0316.tistory.com/entry/JAVA-7%EC%A3%BC%EC%B0%A8-%ED%8C%A8%ED%82%A4%EC%A7%80-package-import-classpath

 

[JAVA] 패키지란? (package, import, classpath...)

🎁 패키지 패키지(package)란, 클래스 묶음이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할

doozi0316.tistory.com

 

728x90

댓글