50.3 동적 바인딩
런타임할 때 데이터 형식을 결정하는 것을 동적 바인딩(dynamic binding)이라고 합니다.
> dynamic now = DateTime.Now; > int hour = now.Hour; > Console.WriteLine(hour); 3 > now.NoProperty Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'System.DateTime'에 'NoProperty'에 대한 정의가 없습니다. + System.Dynamic.UpdateDelegates.UpdateAndExecute1<T0, TRet>(System.Runtime.CompilerServices.CallSite, T0)
DateTime 구조체 형식에는 NoProperty 속성이 없기에 컴파일 시점에는 에러가 발생하지 않지만, 런타임 시점에서는 에러가 발생합니다.