멍발자의 개발
Package & import 본문
하나의 클래스 파일로 분할해서 만드는 게 복잡성을 줄일 수 있다.
클래스를 패키지에 포함
장점
1. 같은 역할을 가진 클래스를 1개의 패키지에 정리하므로 클래스가 가지는 의미 파악이 용이하다.
2. 같은 이름을 가진 클래스가 복수로 존재할 경우, 이름의 충돌을 피하여 이용할 수 있다.
3. 클래스, 메소드, 생성자, 멤버 변수에 패키지에 관련한 액세스 제한을 붙일 수가 있다.
다른 클래스 내에 클래스를 이용하기
이용되는 클래식 앞에 public 을 붙임
패키지명.클래스명 객체명 = new 패키지명.클래스명();
사용되는 액세스 수식자가 public이 되어있어야 한다.
package chap17; // Computer3 클래스를 패키지에 포함
public class Computer3 { // Computer3클래스를 다른 곳에서 사용할 수 있도록 public을 추가함
private String os;
private int memory;
public void show() {
System.out.println("OS는" + this.os + "입니다.");
System.out.println("메모리는 " + this.memory + "GB입니다.");
}
public void setOsMemory(String os, int memory) {
//인수값을 필드변수로 설정
this.os = os;
this.memory = memory;
}
}
package chap17;
public class DifferentPackage1 {
public static void main(String[] args) {
// 다른 패키지의 Computer3클래스를 완전 한정자명으로 지정하여 객체화
chap17.Computer3 com = new chap17.Computer3();
com.setOsMemory("Windows 11", 32);
com.show();
}
}
//결과
OS는Windows 11입니다.
메모리는 32GB입니다.
가져오기
다른 패키지의 클래스를 복수 이용하고 싶을 때 import를 이용하면 일일이 클래스명에 패키지를 기술하여 학습하는 번거로움을 줄일 수 있다.
서브 패키지 작동방식
패키지에 계층을 만들면 많은 클래스를 기능별로 분류할 수 있다.
패키지내에 다른 계층을 만드는 것을 서브 패키지라고 한다.
* = 패키지 영역 안에 있는 것만 사용할 수 있다.
다른 패키지의 클래스를 이용하는 경우, 패키지명.클래스명으로 이용할 수 있다.
Comments