C#
C# Dynamic
doridam
2023. 7. 11. 16:11
1. Dynamic
C# 은 기본적으로 Static Language로 컴파일시 Type을 체크한다. 하지만 C# 4.0에서 Dynamic 기능을 추가하여 런타임시 Type을 체크할 수 있도록 했다. 이를 통해 임의로 타입을 변경하는 코드를 작성 할 수 있다.
2. var 와 dynamic
var 의 경우 컴파일러가 입력되는 값을 보고 type을 정하게 된다.
이렇게 동일한 var를 사용했음에도 대입된 값의 유형에 따라 자유자재로 변한다. 하지만 만약 숫자가 들어간 num 변수에 str 변수를 넣는다면
이렇듯 이미 int 로 초기화된 num에 str 의 값을 못넣는 것이다. 하지만 만약 dynamic을 사용하게 된다면
dynamic의 경우 코드의 실행시점, 런타임 시점에서 타입을 정하기 때문에 num = 1이 실행되었다가 다시 num이 str의 값을 저장할 수 도 있는 것이다.