암시적 데이터 타입 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
반응형
'C#' 카테고리의 다른 글
Array.Copy 메서드 사용해서 배열 복사 (0) | 2022.03.15 |
---|---|
[C#] 변수 뒤에 물음표(?)는 Nullable Type (0) | 2022.01.27 |
C#기초 - 접근 제한자 (public vs private),(Getter,Setter 사용법) (0) | 2021.05.27 |
C# 기초 - 레퍼런스, 생성자 this (0) | 2021.05.15 |
C# 메서드 사용(3) - 메서드 오버로딩(Method Overloading) (0) | 2021.02.21 |
댓글