암시적 형식 지역 변수 선언
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
키워드를 보게 될 수 있긴 하지만, 가능한 경우 항상 데이터 형식을 사용해야 합니다.