암시적 형식 지역 변수 선언

완료됨

C# 컴파일러는 백그라운드에서 작동하여 코드를 작성하는 데 도움이 됩니다. 초기화된 값을 기준으로 변수의 데이터 형식을 유추할 수 있습니다. 이 단원에서 암시적 형식 지역 변수 기능에 대해 알아보겠습니다.

암시적 형식 지역 변수란?

암시적으로 형식화된 지역 변수는 var 키워드와 변수 초기화를 사용하여 만들어집니다. 예를 들면 다음과 같습니다.

var message = "Hello world!";

이 예제에서는 var 키워드 대신 string 키워드를 사용하여 문자열 변수를 만들었습니다.

var 키워드는 데이터 형식이 할당된 값에 의해 암시적임을 C# 컴파일러에 알릴 수 있습니다. 형식이 암시된 후, 변수는 실제 데이터 형식을 선언하는 데 사용하는 것과 동일하게 작동합니다. var 키워드는 형식이 길거나 형식이 컨텍스트에서 명확할 때 키 입력을 저장하는 데 사용됩니다.

예제:

var message = "Hello world!";

message 변수가 string"Hello World!"로 즉시 설정되었으므로 C# 컴파일러는 의도를 파악하여 message의 모든 인스턴스를 string 형식의 인스턴스로 처리합니다.

실제로 message 변수는 string으로 형식화되었으며 절대 변경할 수 없습니다. 예를 들어, 다음 코드를 고려하세요.

var message = "Hello World!";
message = 10.703m;

이 코드를 실행하면 다음과 같은 오류 메시지가 표시됩니다.

(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'

참고

다른 프로그래밍 언어에서는 var 키워드를 다른 방식으로 사용합니다. C#에서 변수는 실제 데이터 형식 이름을 사용하는지 또는 컴파일러가 데이터 형식을 암시하도록 허용하는지에 관계없이 컴파일러에 의해 형식이 할당됩니다. 즉, 선언 시 형식이 잠겨 있으므로 다른 데이터 형식의 값을 저장할 수 없습니다.

var 키워드를 사용하는 변수를 초기화해야 합니다.

var 키워드는 변수를 초기화하는 데 사용된 값에 따라 달라진다는 사실을 이해하는 것이 중요합니다. 변수를 초기화하지 않고 var 키워드를 사용하려고 하면, 코드를 컴파일할 때 오류가 발생합니다.

var message;

이 코드를 실행하려고 하면 컴파일 시 다음과 같은 출력이 표시됩니다.

(1,5): error CS0818: Implicitly-typed variables must be initialized

키워드를 var 사용하는 이유

var 키워드는 C# 커뮤니티에서 널리 채택되었습니다. 책이나 온라인에서 코드 예제를 보면 실제 데이터 형식 이름 대신 var 키워드가 사용되는 것을 볼 수 있으므로 사용법을 이해하는 것이 중요합니다.

var 키워드는 C#에서 중요한 용도가 있습니다. 많은 경우 변수의 형식은 초기화를 통해 명확해집니다. 이러한 경우 var 키워드를 사용하는 것이 더 간단합니다. 또는 var 키워드는 애플리케이션의 코드를 계획할 때도 유용할 수 있습니다. 작업에 대한 코드 개발을 시작하면 어떤 데이터 형식을 사용할지 즉시 알 수 없습니다. var를 사용하면 솔루션을 보다 동적으로 개발하는 데 도움이 될 수 있습니다.

시작하면서 코드 작업에 익숙해질 때까지 변수를 선언할 때 실제 데이터 형식 이름을 계속 사용하는 것이 좋습니다. 변수를 선언할 때 데이터 형식을 사용하면 의도하는 코드를 작성하는 데 도움이 됩니다.

요약

지금까지 var 키워드에 대해 배운 내용은 다음과 같습니다.

  • var 키워드는 초기화된 값을 기준으로 변수의 데이터 형식을 유추하도록 컴파일러에 지시합니다.
  • 다른 사람의 코드를 읽을 때 var 키워드를 보게 될 수 있긴 하지만, 가능한 경우 항상 데이터 형식을 사용해야 합니다.