Language/C#

[C#] 기초 문법 - 묵시적 데이터 타입의 변수 선언 var

달별선장 2023. 8. 29. 23:52
728x90

주제 |

[C#] 기초 문법 - 묵시적 데이터 타입의 변수 선언 var

 

개요 |

  1. 묵시적 데이터 타입의 변수란?
  2. var 변수의 특징 - 변수 초기화
  3. var 키워드를 사용하는 경우

 

본문 |

 

1. 묵시적 데이터 타입의 변수란?

 

C# 컴파일러는 변수에 값이 할당될 때까지 해당 변수의 자료형을 정하는 것을 미루다가, 변수에 값이 할당될 때 그 값의 자료형을 참고하여 변수의 자료형으로 삼는다.

묵시적 타입의 지역변수는 'var' 라는 키워드를 사용하여 초기화한다.

var 를 사용한 변수의 선언문에서는 앞서 포스팅한 자료형을 선언하지 않는다.

 

예시)

var context = "Hello C# World!";

var 키워드는 C# 컴파일러에게 데이터 타입이 할당된 값에 의해 암시된다는 메시지를 보낸다. 타입이 암시된 후, 해당 변수는 실제로 선언된 값과 같은 자료형으로 동작한다.

var 키워드는 문맥적으로 자료형이 모호할 때 사용된다.

 

위의 예시 코드를 보면, context 라는 변수는 "Hello C# World!"라는 string 형의 값이 즉시 할당되었다. 그렇기 때문에 C# 컴파일러는 context 의 모든 인스턴스를 string 타입의 인스턴스로 여긴다. 그리고 string 의 의미로 취급한다.

 

이렇게 var 키워드를 통해 한 번 string 형으로 선언된 변수는 다른 Data Type의 값이 할당될 수 없다.

 

예시)

var context = "Hello C# World!";
context = 3.14159m; // Error!

콘솔 출력 결과)

error CS0029: Cannot implicitly convert type 'decimal' to 'string'

 

2. var 변수의 특징 - 변수 초기화

 

var 키워드로 선언된 변수는 반드시 초기화 되어야 한다.

만일 var 를 사용한 변수 선언 시, 초기화 구문을 작성하지 않는다면, 컴파일 에러를 만나게 될 것이다.

 

예시)

var name; // Error!

콘솔 출력 결과)

error CS0818: Implicitly-typed variables must be initialized

 

3. var 키워드를 사용하는 이유

 

C# 과 관련된 커뮤니티 사이트 혹은 예제를 보면 var 를 왕왕 사용하는 경우를 볼 수 있을 것이다. 그렇기 때문에 var 를 사용하는 경우를 잘 이해하는 것이 매우 중요하다.

 

C# 개발을 하다 보면 변수의 자료형이 변수 초기화에 의해 모호해지는 경우가 자주 발생한다. 이런 경우 그저 심플하게 var 키워드를 사용하면 된다.

 

var 키워드는 애플리케이션을 설계할 때 매우 유용하다. 개발 업무를 할 때 자료형을 굳이 바로 알 필요도 없다. var 키워드는 개발의 생산성을 향상시켜준다.

 

C# 개발 비기너들에게는 코드 작성이 편해지기까지는 정확한 자료형을 명시하기를 추천한다. 변수 선언 시 자료형을 명시하는 것은 소스코드 작성 시, 어떤 의도와 목적으로 개발중인지 빠르게 캐치하도록 도와준다.

 

var 키워드를 사용할 경우가 있지만, 가능하면 자료형을 명시해주는 것이 좋다.

 

 

 

 

(참고 문헌)

https://learn.microsoft.com/en-us/training/modules/csharp-literals-variables/5-implicitly-typed-local-variables

728x90