본문 바로가기

Java/문법

8-2 장 외부 클래스

 

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