Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 동적 데이터 형식(dynamic) 정의하고 사용하는 방법

C#의 동적 데이터 형식(dynamic) 변수에는 어떤 타입의 값이든 자유롭게 저장할 수 있습니다. 일반적인 변수와 달리, dynamic 형식 변수에 대한 타입 검사는 컴파일 시점이 아닌 런타임(실행 시점)에 수행됩니다.

이 dynamic 형식은 C# 4.0에서 처음 도입되었으며, 컴파일 타임의 엄격한 타입 검사를 우회할 수 있도록 설계되었습니다.

dynamic 형식 선언 문법

dynamic 변수를 선언하는 기본 문법은 다음과 같습니다.

dynamic <변수명> = 값;

object 형식과의 차이점

dynamic 형식은 object 형식과 매우 유사해 보이지만, 결정적인 차이가 있습니다.

  • object 형식: 컴파일 시점에 타입 검사가 수행됩니다.
  • dynamic 형식: 런타임 시점에 타입 검사가 수행됩니다.

즉, dynamic 변수는 컴파일러가 타입을 강제하지 않기 때문에 개발 단계에서는 유연성이 높지만, 잘못된 타입 사용 시 오류가 실행 중에 발생할 수 있다는 점을 유의해야 합니다.

예제 코드

다음은 dynamic 변수를 선언하고 해당 변수의 실제 타입을 확인하는 예제입니다.

using System;

namespace Demo {

    class Program {

        static void Main(string[] args) {
            // dynamic 변수에 정수 값 할당
            dynamic a = 25;

            // 런타임에 실제 타입 확인
            Console.WriteLine(a.GetType().ToString());
            Console.ReadLine();
        }
    }
}

위 코드에서 변수 a는 dynamic으로 선언되었지만 정수 25가 할당되었으므로, GetType() 메서드를 호출하면 System.Int32가 출력됩니다. 이처럼 dynamic 변수는 할당된 값에 따라 런타임에 실제 타입이 결정됩니다.