더북(TheBook)

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 키워드의 유일한 단점은 비주얼 스튜디오 인텔리센스의 도움을 받을 수 없다는 것입니다.

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