암시적 형식 지역 변수 선언
C# 컴파일러는 코드를 작성할 때 도움을 주기 위해 백그라운드에서 작동합니다. 변수의 데이터 형식을 초기화된 값으로 유추할 수 있습니다. 이 단원에서는 암시적으로 형식화된 지역 변수라고 하는 이 기능에 대해 알아봅니다.
암시적으로 형식화된 지역 변수는 무엇인가요?
암시적으로 형식화된 지역 변수는 키워드와 변수 초기화를 사용하여 var 만들어집니다. 다음은 그 예입니다.
var message = "Hello world!";
이 예제에서는 var 키워드를 사용하여 string 키워드 대신 문자열 변수를 생성했습니다.
키워드는 var 데이터 형식이 할당된 값에 의해 암시된다는 것을 C# 컴파일러에 알려줍니다. 형식이 암시된 후 변수는 실제 데이터 형식을 선언하는 데 사용된 것과 동일하게 작동합니다.
var 키워드는 형식이 길거나 컨텍스트에서 형식이 명확한 경우 키 입력에 저장하는 데 사용됩니다.
예제에서는 다음을 수행합니다.
var message = "Hello world!";
변수 message 가 즉시 값string으로 "Hello World!" 설정되므로 C# 컴파일러는 의도를 이해하고 모든 인스턴스를 형식message의 string 인스턴스로 처리합니다.
실제로 변수는 message a string 로 형식화되며 변경할 수 없습니다. 예를 들어 다음 코드를 고려합니다.
var message = "Hello World!";
message = 10.703m;
이 코드를 실행하면 다음 오류 메시지가 표시됩니다.
CS0029: Cannot implicitly convert type 'decimal' to 'string'
비고
다른 프로그래밍 언어는 키워드를 var 다르게 사용합니다. C#에서 변수는 실제 데이터 형식 이름을 사용하는지 아니면 컴파일러가 데이터 형식을 암시하도록 허용하는지에 관계없이 컴파일러에서 형식을 할당합니다. 즉, 선언 시 형식이 잠겨 있으므로 다른 데이터 형식의 값을 보유할 수 없습니다.
키워드를 사용하는 변수를 var 초기화해야 합니다.
키워드는 변수를 var 초기화하는 데 사용하는 값에 따라 달라지는 것을 이해하는 것이 중요합니다. 변수를 초기화하지 않고 키워드를 var 사용하려고 하면 코드를 컴파일하려고 할 때 오류가 발생합니다.
var message;
이 코드를 컴파일할 때 실행하려고 하면 다음 출력이 표시됩니다.
CS0818: Implicitly-typed variables must be initialized
키워드를 사용하는 이유는 var 무엇인가요?
이 var 키워드는 C# 커뮤니티에서 널리 채택되었습니다. 책이나 온라인에서 코드 예제를 살펴본다면 실제 데이터 형식 이름 대신 var 키워드가 사용된 것을 볼 수 있으므로, 이것의 사용 방법을 이해하는 것이 중요합니다.
키워드는 var C#에서 중요한 용도로 사용합니다. 여러 번 변수의 형식은 초기화에서 분명합니다. 이러한 경우 키워드를 사용하는 var 것이 더 간단합니다. 이 키워드는 var 애플리케이션에 대한 코드를 계획할 때도 유용할 수 있습니다. 작업에 대한 코드 개발을 시작할 때 어떤 데이터 형식을 사용할지 즉시 알 수 없습니다.
var을 사용하면 솔루션을 보다 동적으로 개발하는 데 도움이 됩니다.
시작할 때 코드 작업에 익숙해질 때까지 변수를 선언할 때 실제 데이터 형식 이름을 계속 사용하는 것이 좋습니다. 변수를 선언할 때 데이터 형식을 사용하면 코드를 작성할 때 의도적으로 사용할 수 있습니다.
요약
지금까지 var 키워드에 대해 배운 내용은 다음과 같습니다.
- 키워드는
var초기화된 값을 기반으로 변수의 데이터 형식을 유추하도록 컴파일러에 지시합니다. - 다른 사람의 코드를 읽을 때 보통
var키워드가 보이겠지만, 가능하면 데이터 형식을 사용해야 합니다.