CarTest.java 라는 파일이 있고 그 내부 소스 내용이


public class Car{
        ...
        ...
}

public class CarTest{
        public static void main(String[] args){
                ...
                ...
                ...
        }
}

이런식으로 있다 했을때 왜 에러가 뜨는거야?
public class Car 를 class Car로 해줬을때는 에러가 안뜨는데 public 붙혀주면 에러가 뜨길래

자바소스 파일명이랑 public class CarTest 이거를 맞춰줘야되서 두개가 중첩되면 안되서 그러는거야?
근데

class Car{
        ...
        ...
}

class CarTest{
        public static void main(String[] args){
                ...
                ...
                ...
        }
}

이렇게 하면 에러가 안뜨는데
자바소스 파일명 = 메인메소드가 들어있는 클래스의 이름
이렇게 되는거야?



1줄요약
        왜 소스 내부에서 public class가 여러개 선언안되죠?