생활
C# 구조체에 대해서 질문입니다
C# 독학 중인데 나머지는 다 알겠는데 구조체와 제네릭에 대해서 잘 이해하지 못하겠어요.. 구조체와 제네릭에 대해서 알기 쉽게 설명해 주실 수 있을까요? 혹은 쉽게 이해할 수 있는 비유가 있는 지 궁금합니다.
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요.
구조체는 새로운 자료구조라고 생각하시면 됩니다. 예를 들어 정수를 사용하기 위해선 C#이 제공하는
int a;이렇게 하면 a라는 정수 변수를 쓸수 있는데요,
만약 이름과 학번을 가지는 "학생"이라는 자료구조가 필요하면 어떻게할지에 대한 답이 구조체 입니다.
Struct Student { public string sname; public string snumber; }이렇게 만든것이 구조체이고 student라는 새로운 자료형을 아래와 같이 쓸수 있습니다.
Student person1; person1.sname = "XXX"; person1.snumber = "XXXXXXX";그리고 Generic은 type이 type, 즉 자료형이 정해지지 않은 것을 의미하고 <T>와 같이 표시합니다.
예를 들어
int sum(int a, int b){ }이런 함수가 있다면 a, b라는 정수를 입력받아서 그 합을 정수형으로 return하는 함수입니다.
그런데 만약 a, b가 string이고, 그 리턴이 두 문장을 합친거라면, 위의 함수를 그대로 쓸수 없고 새로운 함수를 만들어야 합니다. 물로 개념상으로 둘을 합친다는 의미에서 비슷하기도 하고, 문장을 합치는 것과 숫자를 합치는 경우는 다른 것이니 별도의 함수가 되어야 할수도 있지만
말 그대로 generic은 일반적이다라는 의미로
class DataStore<T> { public T Data { get; set; } }이렇게 정의를 할수 있습니다. 자료형 자리에 T가 들어가는 것이죠.