타입변환 (Boxing, UnBoxing)
value 타입인지 reference 타입인지? 구조체인지 클래스인지? 각각을 언제 사용하는 것이 좋은지? C++에서는 모든 자료형이 value 타입이며 필요에 따라서 reference 타입을 언제든지 만들 수 있다. 자바에서는 모든 자료형이 reference 타입이다. 하지만 C#에서는 타입을 정의할 때에 해당 타입의 인스턴스들이 어떤 식으로 동작할지를 미리 결정해야 한다. 나중에 타입의 형태를 변경하기 위해서는 복잡한 코드가 수반되어야 하기 때문에 최초 정의시에 올바른 결정을 내릴 수 있어야 한다. 타입에 대한 최초 정의시에 struct나 class 키워드 중 어떤 것을 사용할지를 결정하는 것은 비교적 쉬운 문제다. 하지만 개발이 많이 진척된 상황에서 타입을 변경하기란 쉽지 않을뿐더러 많은 코드의 수..