1. 외부 클래스 (external class)
- public 클래스의 외부에 추가로 정의한 클래스
- 1개의 자바 소스 파일에는 최대 1개의 public 클래스만 존재 가능. 그 클래스명은 파일명과 일치해야 함
- public 클래스가 아니면 다른 패키지에서 임포트할 수 없으므로 외부 클래스는 같은 패키지안에서만 사용 가능
BCD.java
package abc.bcd;
class ABC {
//... //외부 클래스는 다른 패키지에서 임포트 불가능
}
public class BCD {
//... // public 클래스는 다른 패키지에서 임포트 가능
}
- BCD.java 소스 파일에는 2개의 클래스(ABC, BCD)가 있음
- 소스 파일명이 BCD 이므로 public을 붙일 수 있는 자격이 있는 클래스는 BCD 뿐
- ABC는 외부 클래스로서 public을 붙일 수 없기 때문에 다른 패키지에서 임포트 불가능
- 1개의 소스파일에 외부 클래스 구성
package packageimport_ExternalClass;
class A {
int m = 3;
int n = 4;
void print() {
System.out.println(m+","+n);
}
}
public class ExternalClass_1 {
public static void main(String[] args) {
A a = new A(); //public 여부와 관계없이 같은 패키지 내에서는 객체의 생성 및 활용 가능
a.print();
}
}
2. 외부 클래스를 별도의 파일로 분리
- 다른 패키지에서도 외부 클래스를 사용하려면 별도의 소스 파일로 작성한 후 public 붙이기
ABC.java
package abc.bcd;
public class ABC {
//...
}
BCD. java
package abc.bcd;
public class BCD {
//...
}
'Java > 문법' 카테고리의 다른 글
9-2장 static 제어자 (0) | 2023.04.30 |
---|---|
9-1장 접근 지정자 (0) | 2023.04.30 |
8-1장 패키지와 임포트 (0) | 2023.04.24 |
7-4장 this 키워드와 this() 메서드 (0) | 2023.04.24 |
7-3장 생성자 (0) | 2023.04.24 |