더북(TheBook)

11.4 CLR 수준에서의 튜플

이론적으로 보면 C# 자체는 .NET에 종속되어 있지 않다. 하지만 실제로 구현된 내용을 살펴보면, 사전 컴파일(ahead of time compile)로 PC 데스크톱이 아닌 다른 장치에서 수행될 때마저도 일반적인 .NET Framework를 사용하는 것처럼 작성되어 있다. 그리고 C#의 명세를 보면 일부 타입은 반드시 사용할 수 있어야 한다는 등 최종 수행 환경에 대한 몇 가지 요건을 정의하고 있다.

이렇듯 C# 언어와 .NET Framework는 밀접한 관계를 가지고 있으며, 언어 명세에 기능을 추가하는 것 외에 .NET Framework에도 관련 기능들을 함께 추가하게 된다. 이번 절에서는 C#의 튜플 기능과 연관되어 .NET Framework에 추가된 몇 가지 타입을 살펴볼 것이다.

익명 타입을 사용하면 컴파일러는 해당 타입에 필요한 속성들을 포함하고 있는 새로운 타입을 추가로 생성한다. 튜플은 이처럼 새로운 타입을 매번 생성하기보다 .NET Framework에 추가된 타입을 재사용하는 형태로 구현되었다. 그 내용을 살펴보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.