2016/09/24 - [IT/Java] - 14 자바 Java 클래스패스 예제
이번 시간에는 패키지에 대해 알아볼 겁니다. 먼저 패키지란 자바의 클래스들을 접근제어하는 역할을 합니다. 그 패키지 안에 있는 클래스들끼리만 서로 접근이 가능하고 다른 패키지 안에 있는 클래스를 사용하고 싶다면 import 로 그 패키지를 불러와야 하죠.
놀라운 사실을 한 가지 더 알려드리자면 자바의 모든 클래스들을 패키지에 소속되어 있답니다. 난 패키지를 지금까지 선언한 적이 없는데..? 하는 분들도 있을텐데요, 그렇게 패키지를 선언하지 않은 클래스들은 이름없는 패키지에 소속됩니다. 패키지를 선언하는 방법은 다음과 같아요.
package lec14;
class Pack {
...
이런식으로 패키지를 맨 위에 선언할 수 있습니다. 그럼 이 파일 속에 포함된 모든 클래스들은 패키지 lec14 에 포함되게 되죠. 그리고 이 패키지는 실제 lec14 라고 이름이 지어진 디렉토리가 필요합니다. 그 속에 자바 파일과 클래스 파일이 생기죠.
package lec14.aa;
class Pack {
...
그리고 이렇게 패키지를 선언하면 lec14라는 패키지 안에 aa라는 새로운 패키지가 생성이됩니다. 안에서도 똑같은 기능을 하고, 패키지 밖에서 사용하고 싶다면 import를 통해 불러와야겠죠? aa와 같은 패키지 속 패키지도 여러개 선언 가능합니다.
그럼 이번에는 import 하는 방법을 알아보도록 하겠습니다. import 도 마찬가지로 파일의 맨 위에서 할 수 있는데요. 그 방법은 다음과 같습니다.
import lec14.aa;
import lec14.*;
import lec14;
class Test {
...
import는 크게 이렇게 3가지 방식으로 가능합니다. 맨 처음 방식으로 하면 lec14.aa 패키지 안의 클래스에서 생성자를 생성할 때 lec14.aa를 생략하고 클래스 이름만으로 선언이 가능합니다. 두 번째 방식으로 하는 경우 lec14안에 있는 패키지들로 클래스 인스턴스를 생성할 경우 lec14 를 생략하고 aa.Pack p = new Pack(); 이런 식으로 하면 되는 거죠. 세 번째 방식은 lec14까지 생략하지 않고 모두 써주는 방식입니다. 아래 방식일수록 가장 생략하는 부분이 적으니 같은 이름의 클래스가 다른 패키지 안에 있었을 경우 혼동가능성이 작겠죠?
'Develop > Java' 카테고리의 다른 글
자바 Java 시작, 맥에서 터미널로 (0) | 2017.01.13 |
---|---|
16 자바 Java 의 입력 받는 방법! (0) | 2017.01.06 |
14 자바 Java 클래스패스 예제 (0) | 2016.09.24 |
자바 Java 시작, 환경변수 설정하기 (2) | 2016.09.15 |
자바 Java 의 이름 붙이는 규칙 Camel Case (0) | 2016.09.13 |
댓글