본문 바로가기

Dev Book Review/Effective Java

[Effective Java] item25. 톱레벨 클래스는 한 파일에 하나만 담으라

소스파일 하나에 톱레벨 클래스를 여러개 선언하더라도 자바 컴파일러는 불평하지 않는다.

  • 다만 위와 같이 이름이 중복되는 경우 컴파일 에러가 발생하게된다.
  • 컴파일러에 어느 소스파일을 먼저 건네느냐에 따라 동작이 달라지므로 반드시 바로잡아야한다.

 

해결책

  • 톱레벨 클래스들을 서로 다른 소스 파일로 분리한다
  • 다른 클래스에 딸린 부차적인 클래스라면 정적 멤버 클래스를 사용한다.

    private으로 선언하여 접근 범위도 최소로 관리하자