아이템 25. 톱 레벨 클래스는 한 파일에 하나만 담으라

weekbelt·2022년 11월 18일
0

톱레벨 클래스라는 것은 파일에 정의되어있는 가장 바깥에 있는 클래스를 의미합니다. 가장 바깥에 있는 클래스가 여러개 있어도 컴파일하는데 문제는 없습니다. 하지만 한파일에는 톱레벨 클래스를 오직 하나만 선언하길 권장하고 있습니다. 그 이유는 한 파일에 톱 레벨 클래스가 여러개가 있다면 컴파일을 어떻게 하느냐에 따라서 결과가 달라질 수 있습니다. 어떤 클래스가 다른클래스에 종속적이라면 아이템24의 정적 멤버클래스를 사용하면 가독성도 좋고 private접근 지시자를 사용해서 클래스의 접근범위를 최소화 할 수 있습니다.

정적 멤버클래스로 선언

package me.whiteship.chapter04.item25;

// 코드 25-3 톱레벨 클래스들을 정적 멤버 클래스로 바꿔본 모습 (151-152쪽)
public class Test {
    public static void main(String[] args) {
        System.out.println(Utensil.NAME + Dessert.NAME);
    }

    private static class Utensil {
        static final String NAME = "pan";
    }

    private static class Dessert {
        static final String NAME = "cake";
    }
}
profile
백엔드 개발자 입니다

0개의 댓글