Top level class
-
25. 톱레벨 클래스는 한 파일에 하나만 담으라JAVA/Effective java 2021. 3. 9. 14:28
소스 파일 하나에 톱레벨 클래스를 여러 개 선언하더라도 자바 컴파일러는 불평하지 않는다. 하지만 아무런 득이 없을 뿐더러 심각한 위험을 감수해야 하는 행위다. 이렇게 하면 한 클래스를 여러 가지로 정의할 수 있으며, 그 중 어느 것을 사용할지는 어느 소스 파일을 먼저 컴파일하느냐에 따라 달라지기 때문이다. 다음 소스 파일은 Main 클래스 하나를 담고 있고, Main 클래스는 다른 톱레벨 클래스 2개(Utensil과 Dessert)를 참조한다. Utensil과 Dessert 클래스가 Utensil.java 라는 한 파일에 정의되어 있다고 해보자. 물론 Main을 실행하면 pancake를 출력한다. 이제 우연히 똑같은 클래스를 담은 Dessert.java라는 파일을 만들었다고 해보자. 운 좋게 javac ..