C# 썸네일형 리스트형 Virtual Table Virtual Table 가상함수를 정의하게 되면 가상 테이블이 생성된다. 가상테이블에는 해당 가상함수의 주소가 담겨있어 주소를 찾아서 호출을 하게 된다. virtual / new 선언 차이 변수를 선언할 때 참조 타입과 실타입이 다른 객체를 선언한다고 가정하면 가상함수로 만들어진 함수를 호출했을 때 virtual로 override된 함수는 실타입의 객체의 함수가 호출되며, new는 상속된 멤버를 가리기 위함으로 참조타입의 함수가 호출됩니다. C#은 컴파일 타임에 가상테이블이 생성되며, C++은 각각의 생성자 호출시점에 생성된다. 작성자가 생각하기로는 C#은 C++을 개선하면서 만들었기 때문에 생성자 호출시점에서 가상테이블이 생성되면 오버헤드가 발생할수있기 때문에 컴파일타임에 한번에 생성되는 쪽으로 발전.. 더보기 Class C#은 객체지향 프로그래밍!! Object Oriented Programming 객체들을 생성하고 객체들끼리 상호작용하며 프로그램이 진행 클래스 Class vs Object Class는 청사진 (건물 도면) Object는 그 청사진으로부터 건설된 건물 Field 클래스나 구조체의 멤버 변수를 Field라고 부릅니다. readonly 수정자 필드에 readonly를 지정하면 인스턴스 생성 후에 그 필드를 변경할 수 없습니다. (런타임타입 상수) 이러한 readonly 필드는 해당 선언문 혹은 생성자 안에서만 값을 설정할 수 있습니다. const랑은 다른 것. C++의 const와 C#의 const는 동작이 조금 다르다. (컴파일타입 상수) C#의 readonly와 C++의 const가 비슷한편. 필드 초기.. 더보기 C# [ C# 타입 ]- Value Types- Reference Types- Gerneric Type Parameters- Pointer Types Value Type : Struct , EnumReference : All Class, Array, Delegate, Interface, String Value Typepublic struct Point{ int X; int Y;}static void Main(){ Point p1 = new Point(); p1.X = 7; Point p2 = p1; // Assignment causes copy Console.WriteLine (p1.X); // 7 Console.WriteLine (p2.X); // 7 p1.X = 9; .. 더보기 이전 1 2 다음