오늘은 자바의 패키지에 관해 다뤄보려고 한다.
이제 자바를 배운지 얼마 안된 우리는 패키지가 뭔지 이제 처음 들어본 사람이 많을 것이다.
먼저 패키지의 필요성에 대해 살펴보자.
사용자 정의 클래스를 만들다보면 클래스 이름에 대한 고민을 하게 된다.
그 클래스 이름은 그 필드와 메소드를 특정할 수 있는 이름을 선정하여 지정한다. 그러다보면 원하지 않게 같은 이름을 지정할 수도 있다.
이 때 같은 이름의 문제를 해결하기 위한 문법이 package이다. 물리적인 폴더 구분을 통해 같은 이름의 class를 구별하도록 한 것이다.
그리고, 우리는 지금까지 자바를 조금씩 배우며 알게 모르게 사용했던 패키지가 있다.
Scanner, Random, String과 같은 클래스들이다.
Scanner같은 경우에는 java안에 있는 util안에 있는 Scanner라는 클래스를 사용했던 것이고,
Random도 java.util.Random이었다.
String의 경우에는 패키지를 위에 명시하지 않고 사용했었다. 어떻게 가능했을까?
먼저 String은 java.lang이라는 패키지 안에 있다.
단, java.lang이라는 패키지는 기본 자바언어의 필수 클래스들이 위치해 있어 사용빈도가 높기에 별도의 import 명시없이도
자동 import java.lang이 되어 있다. 그래서 String을 사용할 때 별도의 import 없이 그냥 사용하는 것이다.
실무에서는 무조건 패키지를 사용하고 이 때 패키지의 이름은 가급적 영소문자로만 지정하는 것을 권장한다.
패키지 이름을 지을 때 가급적 안에 있는 클래스들의 성질을 대표하는 일종의 카테고리 명 같은 것으로 유의미하게 만들 것을 권장한다.
또, 패키지명은 .을 구분으로 2단어 이상으로 만들 것을 권장한다. 예를 들면, tistory.dev.~~~~ 같은 식이다.
'Language > Java' 카테고리의 다른 글
자바에서의 메소드 - 2 (0) | 2022.03.22 |
---|---|
자바에서의 메소드 (0) | 2022.03.10 |
자바의 클래스 소개 (0) | 2022.03.02 |
자바의 배열(Array) (0) | 2022.02.23 |
Java에서의 String 소개 - 3 (0) | 2022.02.15 |