50.2 dynamic 변수로 런타임할 때 데이터 형식 결정하기
동적 형식을 사용할 수 있도록 dynamic 키워드로 변수를 선언하고 사용하는 예제를 살펴보겠습니다.
> dynamic x; > > x = 1234; //① int > Console.WriteLine(x); 1234 > Console.WriteLine(x.GetType()); System.Int32 > > x = "Dynamic Type!"; //② string > Console.WriteLine(x); Dynamic Type! > Console.WriteLine(x.GetType()); System.String
동적 형식을 나타내는 dynamic 키워드로 변수를 선언하면 컴파일 시점에서는 형식이 결정되지 않고 실행 시점에서 자동으로 데이터가 결정됩니다. ①의 1234처럼 정수 형식의 데이터가 대입되면 실행 시점에서는 정수 형식으로 처리되고, ②처럼 문자열 데이터가 대입되면 이를 사용하는 실행 시점에서는 문자열로 데이터가 처리됩니다. 컴파일 시점에는 데이터 형식이 결정되지 않기에 필자가 생각하는 dynamic 키워드의 유일한 단점은 비주얼 스튜디오 인텔리센스의 도움을 받을 수 없다는 것입니다.