소개
이 랩에서는 패키지를 사용하여 클래스를 기능별로 구성하는 방법을 배우게 됩니다.
이 랩에서는 패키지를 사용하여 클래스를 기능별로 구성하는 방법을 배우게 됩니다.
지금까지 우리는 많은 클래스를 작성했습니다. 큰 프로젝트의 경우 수백 개의 클래스가 있을 수 있으며, 이렇게 많은 파일과 클래스를 정리하는 것은 쉽지 않습니다. 서로 다른 프로그래머가 서로 다른 클래스를 작성할 수 있으며, 때로는 동일한 이름을 가진 클래스가 프로젝트에 나타나는 경우도 있습니다. 이러한 문제를 어떻게 피할 수 있을까요? 패키지를 사용할 수 있습니다. Java 라이브러리는 java.lang 을 포함하여 패키지로 나뉘며, 지금까지 사용한 대부분의 클래스를 포함하고 있습니다. 패키지는 접근 보호 및 네임스페이스 (name space) 관리를 제공하는 관련 유형의 그룹입니다. 여기서 유형은 클래스, 인터페이스 (interfaces), 열거형 (enumerations) 및 어노테이션 유형 (annotation types) 을 의미합니다.
패키지를 생성하려면 패키지 이름을 선택하고, 해당 패키지에 포함하려는 유형이 있는 모든 소스 파일의 맨 위에 해당 이름의 package 문을 넣습니다. package 문은 소스 파일의 첫 번째 줄이어야 합니다. 각 소스 파일에는 하나의 package 문만 있을 수 있습니다.
패키지 외부에서 public 패키지 멤버를 사용하려면 다음 중 하나를 수행해야 합니다.
예시
다음 코드를 /home/labex/project/com/example/demo/packageDemo.java 파일에 작성합니다.
package com.example.demo; // create a new package
public class packageDemo{
public static void test(){
System.out.println("This is a package test.");
}
}
다음 코드를 /home/labex/project/packageTest.java 파일에 작성합니다.
import com.example.demo.packageDemo;
class packageTest{
public static void main(String[] args){
packageDemo.test();
}
}
출력:
다음 명령을 사용하여 packageTest.java 파일을 실행합니다.
javac /home/labex/project/packageTest.java
java packageTest
출력을 확인합니다.
This is a package test.
패키지는 논리적 관계가 있거나 특정 기능을 수행하는 클래스를 수집하는 방법을 제공하며, 패키지를 사용하면 이름 충돌을 피할 수 있습니다. 코드를 패키지로 묶어 다른 사람에게 제공하거나 인터넷에서 다른 사람의 패키지를 가져올 수 있습니다. 이는 코딩의 편의성을 높여줍니다.