C# - 제네릭 (Generic)
·
C#
제네릭 (Generic)클래스나 메서드를 설계할 때 자료형을 구체적으로 지정하지 않고, 형식 매개변수(Type Parameter)로 열어둔 뒤, 실제 사용할 때 원하는 자료형을 지정할 수 있도록 하는 기능이다.쉽게 말해 타입을 나중에 정하는 설계 기법 이라고 이해하면 된다. 예를 들어 Cup이라는 클래스와, Cup에 담을 수 있는 것들을 정의한 Milk, Coffee, Water, PaperClip 이라는 클래스를 정의했다고 가정해보자class Milk{ public string ExpireDate { get; set; }}class Coffee{ public string Type { get; set; }}class Water{ public string Name { get; set; }}..
C# - 클래스와 구조체의 차이
·
C#
이전까지의 글에서 클래스(Class)와 구조체(Struct)에 대해서 다뤘었다.해당 글에서도 둘의 차이에 대해 비교해 보았지만 이번 글에서는 이 차이점만을 다뤄보려 한다. 값 타입 (Value type) vs 참조 타입 (Reference Type) 값 타입 (Value Type)스택(Stack)에 저장되는 데이터데이터를 복사해서 전달독립된 값을 가지므로, 다른 변수에 복사해도 원본과 무관int a = 10;int b = a; // 값 복사b = 20;Console.WriteLine(a); // 10Console.WriteLine(b); // 20 참조 타입 (Reference Type)힙(Heap)에 객체가 저장되고, 스택에는 그 주소(참조)만 저장변수를 복사하면, 참조가 복사되므로 같은 객체를 가리킴..