들어가며 소스파일 하나에 톱레벨 클래스를 여러 개 선언하더라도 자바 컴파일러는 불평하지 않는다. 단 이는 아주 위험한 행동이다. 이렇게 하면 한 클래스를 여러가지로 정의할 수 있으며 어떤 순서로 컴파일 하느냐에 따라 동작이 달라지기 때문이다. 그렇기 때문에 톱레벨 클래스들은 서로 다른 파일로 분리하여야 한다. 굳이 여러 톱레벨 클래스를 한 파일에 담고 싶다면 static member class를 고려하자.