소스파일 하나에 톱 레벨 클래스를 여러개 선언하더라도 컴파일은 잘 되지만 많은 단점이 있다. 한 클래스를 여러 가지로 정의할 수 있으며, 이 중 어느 것을 사용할지는 어느 소스 파일을 먼저 컴파일하냐에 따라 달라지기 때문이다.