Var과 Object의 차이?

우창민·2023년 11월 29일
0

ExtraStudy

목록 보기
1/1

Questions?

c# 에서는 Object도 사용하고 var도 사용한다. 그 차이점에 대한 의문


Common

두 경우 모두 명시적인 타입설정 없이 변수를 선언하여 사용한다
int a = 0;
object b = (object)a;

var b= 5;


Difference

  • Object
    Object의 경우 데이터를 값->참조로 박싱하는 과정이 추가되게된다.
    얘를들어 특정 int a=30; 값을 object로 형변환 하게 될경우
    새로운 heap영역에 공간을 할당하게되고 해당 힙영역의 주소를 stack에 가지고 있게 된다.
    업로드중..

값을 변경하게 된 경우에도 기존값의 참조를 지워버리게 되고, 새로운 주소값을 가지는 힙영역의 메모리를 새로 할당받아 해당 값을 저장하게 된다.
업로드중..

  • var
    var의 경우는 들어온 값에 따라 자료형을 컴파일러에서 추론해서 해당 자료형으로 변환하여 넣어주게된다. 실제로 a의 자료형은 int로 저장이되고 b의경우는 double형으로 저장이 됨.
    업로드중..

Reference

https://while1.tistory.com/44

profile
더 편하게 더 간단하게

0개의 댓글