C#에서 new 키워드로 인스턴스화된 객체에 대한 이해

1660 단어 C#

【선행지식】


값 유형과 인용 유형에 대한 이해
공용 언어 런타임 CLR
C# 배열 선언 방식에 대한 이해

[실례화 격식]


클래스 이름 대상 이름 = new 클래스 이름 (매개 변수 목록)

[관련 개념 분석]


클래스는 템플릿으로 대상이 실례화될 때 어떻게 보일지 정의합니다.
대상은 유형의 실제 예로 약칭하여 실례를 말한다.
실례화는 클래스에서 대상을 만드는 과정입니다.
예를 들어 클래스는 도면으로 볼 수 있다. 우리는 이 도면에 따라 하나의 물건(즉 대상)을 만들 수 있다. 만들어진 것은 바로 도면의 실례이다. 이 물건을 만드는 과정은 클래스를 실례화했다.

[실례화된 과정]


MyClass myClass = new MyClass()의 경우
MyClass는 사용자 정의 클래스 (즉 자신이 쓴 클래스) 이고 myClass는 만들 대상 이름 (즉 실례화된 대상) 이다.
새 키워드의 역할은 CLR을 대상으로 메모리를 분배하고 인용을 되돌려주는 것입니다. (즉, 새 키워드는 CLR에 대상을 만들어야 한다는 것을 알려줍니다. 그 대상을 만드는 데 필요한 데이터를 더미에서 블록을 찾아서 저장하고, 그 대상을 만든 다음에 더미에서 어느 위치에서 만들었는지 알려 줍니다.)
(주해: 실례화 대상은 초기의 데이터가 필요합니다. 우리가 수조를 설명할 때 초기값을 주어야 하는 것과 같이 이 데이터는 전문적인 곳에 저장해야 합니다. 또한 저장한 후에 어디에 저장되었는지 알아야 합니다. 그렇지 않으면 이 데이터를 사용해야 할 때 어디서 찾아야 할지 모르겠습니다.)
따라서 new MyClass () 는 인용을 되돌려줍니다. "="조작부호를 통해 인용을 myClass에 부여하고, myClass 자체는 창고에 있을 수도 있고, 더미에 있을 수도 있습니다. myClass가 어디에 있든지 간에 그 안에 저장된 것은 인용이지 데이터 자체가 아닙니다.
마지막 ()는 MyClass라는 종류의 구조기로 myClass라는 대상을 초기화하는 것을 나타낸다. 즉, 구조기가 이 대상을 만들 때 어떤 초기 데이터를 필요로 하는지 결정한다.
【확장】
실례화된 그룹을 성명할 때, 그 형식은 우리가 성명한 사용자 정의 클래스와 같다. 예를 들어
int[] A = new int[3];

int[]는 C#에 내장된 미리 정의된 클래스로 볼 수 있다.마찬가지로 int,string,float도 클래스로 볼 수 있으며 다음과 같은 성명 방식은 모두 가능하다.
            int x = new int();// 0
            x = 3;// 
            float y=new float();// 0.0
            y=3.0f;// 
        

다른 한편, int,float 자체도 기초적인 데이터 유형으로 분류할 때 자연계의 데이터를 컴퓨터에서 표시할 수 있다.

【참고】


[1]

【관련 링크】


C# 구조기에 대한 이해

좋은 웹페이지 즐겨찾기