C#은 객체나 자료구조를 표현하는 사용자 정의 타입을 만드는 다양한 방법을 제공합니다. 예로는 클래스, 구조체, 튜플 타입, 익명 타입 등이 있는데 많은 개발자가 반사적으로 클래스나 구조체를 선택하곤 합니다. 클래스와 구조체는 강력한 도구이지만 간단한 기능을 구현하는데도 많은 규약이 필요합니다. 대신, 익명 타입이나 튜플처럼 간단한 기능을 사용하는 편이 코드의 가독성에 유리합니다. 익명 타입은 컴파일러가 생성하는 변경 불가능한 참조 타입입니다. var aPoint = new { X = 5, Y = 67 }; 이 문장은 내부적으로 활용할 2개의 읽기 전용 public 속성을 갖는 새로운 sealed 클래스가 필요함을 말해줍니다. 다시 말해, 컴파일러에 대략 다음과 같은 코드를 작성해 달라고 말한 것과 같습..