이 질문에는 이미 답변이 있습니다.
정적 클래스의 인스턴스를 두 개 이상 만들 수있는 이유는 무엇입니까? 내가 정적 클래스와 정적 메서드 사이의 병렬 찾으려고하지만,이 사실은 나를 혼란스럽게합니다.
정적 클래스는 중첩 클래스입니다 (즉, 다른 클래스에서 선언 됨). 최상위 클래스처럼 동작하므로 여러 인스턴스를 만들 수 있습니다.
그것은 정적 메소드 나 정적 변수와 공통점이 많지 않습니다.
우선 - 최상위 정적 클래스를 만들 수 없습니다. 정적 클래스는 중첩 클래스를 참조합니다.
정적 인 중첩 클래스를 생성하는 것은 클래스를 포함하는 클래스와 어떻게 든 관련이 있고 부모가없는 중첩 클래스의 초기화가 의미가 없을 때를 만듭니다.
내부 클래스가 정적 인 것으로 정의 된 이유를 이해하려면 해당 클래스가아니정적 : 일반적으로 사용할 수있는 대신 내부 클래스정의외부 클래스의 인스턴스에 속할 것입니다. 클래스 정의가 이미 컴파일 타임에 존재하기 때문에 그다지 의미가 없습니다. 결과적으로 정적이 아니어야 할 경우는 없습니다.