본문 바로가기

C#

C# Dynamic


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의 값을 저장할 수 도 있는 것이다.

'C#' 카테고리의 다른 글

C# async / await  (0) 2023.07.11
C# Partial Type  (0) 2023.07.11
C# 확장 메서드  (0) 2023.07.11
C# 무명 메서드 / 람다식 / 익명타입  (0) 2023.07.11
C# 인터페이스  (0) 2023.07.10