소스 파일 하나에 톱레벨 클래스를 여러 개 선언할 수 있지만 아무런 득이 없을뿐더러 심각한 위험을 감수해야 한다. 어느 소스 파일을 먼저 컴파일하냐에 따라 한 클래스를 여러 가지로 정의할 수 있기 때문이다. 아래에서 그 예를 살펴보자 Main Main 클래스는 다른 톱레벨 클래스 2개(Utensil, Dessert)를 참조 public class Main { public static void main(String[] args) { System.out.println(Utensil.NAME + Dessert.NAME); } } Utensil.java 두 클래스가 Utensil.java 한 파일에 정의 class Utensil { static final String NAME = "pan"; } class De..