[C#] 공변성과 반공변성의 개념 설명과 Generic의 out과 in 키워드에 대하여
서론public interface IEnumerable : IEnumerable{ IEnumerator GetEnumerator();}IEnumerable을 살펴보다, 제너릭 타입 매개변수 선언을 ``로 한 것을 발견하여 찾아보게 되었다. 쉽게 넘어갈 줄 알았는데, 생각보다 까다로운 개념이라서 어떻게 잘 설명할지 고민을 많이하며 포스팅을 작성했다. 공변성과 반공변성 (Covariance and Contravariance)우선 `out`과 `in` 키워드를 이해하기 위해서는 공변성(Covariance) 및 반공변성(Contravariance)에 대해 이해할 필요가 있다. 또한 C#의 공변성과 가변성의 개념은 배열, 델리게이트, 제네릭에 적용될 수 있다. 공변성과 반공변성은 암시적 "참조" 변환을 가능..
2025.03.04