!
자바에서는 하나의 java 파일에 public 클래스가 오직 하나만 존재해야 한다. 왜 그런 것일까?
스택오버플로우의 질문의 답변을 보면
장기적으로 봤을때의 코드 가독성과
Java 지향하는 디자인과 설계, 유지보수에 용이하도록 하기 위함이라고 한다.
추가 답변에는 이런 의견이 있었다.
"디폴트 클래스도 그렇게 하도록 더 엄격하게 강제해야 돼!
몇몇은 하나의 소스파일에 여러개의 클래스를 넣어서 엉망진창이 되게 해!"
생각해보니 웹 프로젝트를 할때 퍼블릭이든 퍼블릭이 아니든
하나의 클래스만 생성했었다.
만약 소스파일 이름과 다른 여러 클래스들이 하나의 소스파일 안에 존재한다면 그 클래스들이 어디에서 왔는지 헷갈릴 것이다. 결국 문제를 해결할때 엄청난 비효율이 발생하는 것이다.
이제 왜 Java 디자이너들이 하나의 소스파일에 하나의 public class만 존재하도록 강제하게 디자인했는지 알 것 같다.