본문 바로가기
C#

[C#] var 암시적 데이터형

by 고체물리학 2022. 1. 28.

암시적 데이터 타입 var은 개발자가 명시적으로 선언하는 데이터 타입이 아닌

컴파일러에 의해 데이터 타입이 결정됨

 

var 사용할 수 없는 경우

1. 지역변수로만 사용 가능하고 클래스 멤버로는 사용 못함

2.  null로는 초기화 불가

3. 연속적으로 데이터 초기화하는 경우 사용 못함 ex) var a = 10, b =20;

 

<사용 예>

float나 Long타입은 데이터 뒤에 형식을 지정해줘야 한다

나머지 타입은 암시적으로 데이터 형식이 지정된것을 알 수 있다

        static void Main(string[] args)
        {
            var a = 20;
            var b = "a";
            var c = true;
            var d = 'b';
            var e = 0.001f;
            var f = 9999999999999999999L;


            Console.WriteLine(a);
            Console.WriteLine(a.GetType());
            Console.WriteLine(b);
            Console.WriteLine(b.GetType());
            Console.WriteLine(c);
            Console.WriteLine(c.GetType());
            Console.WriteLine(d);
            Console.WriteLine(d.GetType());
            Console.WriteLine(e);
            Console.WriteLine(e.GetType());
            Console.WriteLine(f);
            Console.WriteLine(f.GetType());
        }

 

정적 타입언어: 자료형을 컴파일 당시 결정하는 것  C, C#, C++, Java 언어가 있다

변수에 들어갈 값의 형태에 따라 자료형을 지정하지 않으면 컴파일시에 에러가 발생

- var를 사용한다고 정적 타이핑이 동적 타입으로 변경되는 것은 아니고 컴파일러가 개발자 대신 타입을 결정한다

 

동적 타입 언어: 컴파일 당시 결정하는 게 아니라 런타임시 자료형을 결정하기 때문에 타입 없이 변수만 선언하여 값을 지정할 수 있다 Pytho, Rudy, JavaScript

 

반응형

댓글