MyClass[] CLASS = new MyClass[5];
int[] STRUCT = new int[5];
클래스와 구조체에 대해 정확히 새로운 []이 (가) 무엇입니까? 분명히 구조체에는 구조체의 기본 생성자를 실행하게하는 오버로드 된 정적 인덱스가 있습니다. 그러나 클래스에 대한 새로운 [] 클래스의 인스턴스를 초기화 할 수있는 공간을 만드는 것 같습니다. 기본 생성자를 실행하기 위해 클래스의 정적 동작을 어떻게 오버로드합니까? 나는 이것을 위해 루프와 다른 방법을 사용하는 법을 안다. 내 질문은 새로운 [] 아래에서 진행되는 것에 매우 구체적입니다. 구조체에 기본값이 필요하다는 것을 알고 있습니다. 그러나 null이 허용되지 않는 클래스도 기본 값을 필요로하지 않으므로 사용하려고하면 오류가 발생합니다. 아니면 모든 클래스가 실제로 nullable인지 알려주는 것입니까?클래스와 구조체에서 new []가 정확히 무엇입니까?
: 다음 코드를 컴파일하려고하면, 당신은 당신이 말하는 컴파일 오류를받을 수 있습니까? 절대적으로 아무것도 아닌 배열? int 배열을 만들 때 그것은'struct'이기 때문에 0의 배열을 만듭니다. 그러나'class' 배열을 만들면 그것을 사용하려고 할 때 null 에러 때문에 공간을 생성합니다. 구조체는 기본 생성자를 호출하지만 클래스 인덱스가 절대적으로 아무것도 호출하지 않으면 실제 생성되는 것은 무엇입니까? 구조체에서 동작하는 것처럼 정적 인덱스를 오버로드하는 방법이 있습니까? 늘어나는만큼 새로운 CLASS []는 아무 것도하지 않고 실제 배열은 for 루프 또는 초기화하는 데 사용되는 모든 메서드에서 만들어집니다. – CodeCamper