네, 가능합니다. 단 하나의 조건이 있습니다. 바로 .java 파일 하나에는 public 클래스를 하나만 둘 수 있다는 것입니다.
Java의 기본 규칙
Java에서는 소스 파일(.java) 하나당 public 클래스가 최대 하나만 존재할 수 있으며, 그 파일의 이름은 반드시 해당 public 클래스의 이름과 일치해야 합니다.
따라서 같은 패키지 안에 두 개의 public 클래스를 사용하려면, 각각을 별도의 자바 파일로 분리하면 됩니다.
예제
예를 들어 mypackage라는 패키지에 두 개의 public 클래스를 만들고 싶다면 다음과 같이 작성합니다.
FirstClass.java
package mypackage;
public class FirstClass {
// 클래스 내용
}
SecondClass.java
package mypackage;
public class SecondClass {
// 클래스 내용
}
이렇게 하면 mypackage 패키지 안에 두 개의 public 클래스가 함께 존재하게 되며, 컴파일러 오류 없이 정상적으로 동작합니다.
참고 사항
- 하나의 파일 안에 여러 개의 클래스를 선언하는 것은 가능하지만, 그중 public으로 선언할 수 있는 클래스는 오직 하나뿐입니다.
- 나머지 클래스는 접근 제어자를 붙이지 않은(package-private) 상태로 선언해야 합니다.
- 파일 이름은 반드시 public 클래스의 이름과 동일해야 합니다.
정리하자면, 같은 패키지에 여러 개의 public 클래스를 두는 것이 완전히 허용되며, 유일한 제약 조건은 각 public 클래스가 서로 다른 별도의 .java 파일에 위치해야 한다는 점입니다.