이번 챕터는 탑 클래스를 여러개 선언하지 말아야 하는 이유이다.

 

자연스럽게 우리는 클래스를 분할해서 제작하는데

class Utensil{
    static final String Name = "pan";
}

class Dessert{
    static final String Name = "cake"
}

다음 처럼 한 java파일에 여러개의 클래스를 선언하지 않는 이유는 무엇일까?

 

만약 위의 코드를 Utensil.java라는 파일에 저장하고

class Utensil{
    static final String Name = "pot";
}

class Dessert{
    static final String Name = "pie"
}

우연히 똑같은 코드를 Dessert.java라는 파일에 저장했다고 하자.

명령어를 javac Main.java Dessert.java 명령으로 컴파일 한다면

Main.java에서 Utensil.java를 찾고 Dessert.java가 나올때 컴파일 에러가 난다.

 

한편, javac Main.java 혹은 javac Main.java Utensil.java 명령으로 컴파일 하면 pancake가 나온다.

 

javac Dessert.java Main.java 순으로 실행한다면 potpie가 나온다.

 

이처럼 순서에 따라 결과가 달라질 수 있으니 톱레밸 클래스들은 서로 다른 소스 파일에 담아야 한다.

+ Recent posts