지난번 글에서 일반적으로 사용하는 int, string 등의 기본 자료형에 대해서 설명을 해봤습니다.
이번 글에서는 var와 지난번에 잠깐 소개한 object에 대해서 이야기해보겠습니다.
var와 object
var의 경우 이미 java를 경험하신 분들이라면 var형이 매우 익숙하실 거라 생각됩니다.
var는 앞선 자료형에서 설명드린 object와 매우 비슷합니다.
아래 결과 값을 보더라도 큰 차이는 없습니다.
하지만 가장 큰 차이점을 보면 var 또는 object에 저장되는
값의 원래 특성을 유지할 수 있냐 없냐의 차이로 볼 수 있습니다.
아래 좌측 사진을 보면 var의 경우 int형 변수인 'temp1'에 문제없이 할당되는 것을 볼 수 있지만
우측 사진의 object의 경우 '~형식의 피연산자에 적용할 수 없습니다.'라는 오류 메시지가 발생합니다.
이러한 결과는 var의 값 형식은 최초 할당된 값의 형식으로 지정되며,
object는 값이 할당되면 원본 타입의 특성을 잃게 되므로
다시 사용하기 위해서는 사용하려는 타입으로 type-casting이 이루어져야 합니다.
약간 다르게 말하면 아래와 같이 object의 경우 형식이 적용 가능한 형식의 경우 type-casting을 사용하여
마음껏 바꾸어 사용할 수 있습니다.
위 결과 값에서 보는 것처럼 object형 var1에 할당된 100을 type-casting을 통해
int, double, decimal, char, string 형으로 변환하여 사용한 것을 보실 수 있습니다.
이렇게 한 가지 데이터를 여러 가지 형으로 바꿔 사용해야 한다면 object형이 유용할 것입니다.
var 선언 시 주의할 점
다시 var로 돌아가 보겠습니다.
위에서 var는 선언 시 할당된 값에 따라서 그 형식이 지정된다고 했습니다.
이 말은 var는 선언과 동시에 값이 지정되어야 하며 형식이 없는 'null'은 선언 시 할당할 수 없습니다.
또한 parameter로도 사용할 수 없다는 점입니다.
아래 그림은 위의 세 가지 내용을 포함한 내용입니다.
어떠한 형식도 저장할 수 있는 var이지만 실무에서 var를 난사하면 욕먹기 딱 좋다고 생각됩니다.
저 같은 경우에는 var가 너무 많을 경우에는 가독성도 떨어지고
어떤 애매한 에러가 발생하면 찾느라 개고생을 하는 경우도 있습니다.
그렇지만 var를 정말 필요한 부분에 사용한다면 심플해진 코드로 더 깔끔한 프로그램을 구성하실 수 있습니다.
(이렇게 var 또는 object를 꼭 사용해야 하는 부분은 추후에 다시 한 번 정리하겠습니다.)
여기까지 var와 object에 대한 내용이었습니다.
부족한 글 봐주셔서 감사합니다.
다음에는 '연산자'에 대한 내용을 가지고 오겠습니다.
'Programming > .NET' 카테고리의 다른 글
[C#] 06. 연산자(관계, 논리, 비트) (0) | 2020.04.24 |
---|---|
[C#] 06. 연산자(수식, 증감, 할당) (0) | 2020.04.12 |
[C#] 04. 자료형 (0) | 2020.03.21 |
[C#] 03. 변수와 상수 (0) | 2020.03.13 |
[C#] 02. using 지시문과 네임스페이스 (0) | 2020.02.19 |