반응형 var2 [C#] object와 var의 차이 object와 var 모두 명시적인 타입의 선언 없이도 변수를 선언하는 것이 가능하다. 그러나 두 선언은 사용에 있어 완전히 다르다. 이 둘의 가장 큰 차이는, 어떤 방식으로 값을 저장하냐에 있다. object 먼저 object는 박싱과 언박싱을 통해 값을 저장한다. 값을 박싱 한 뒤 heap에 저장해두고, stack에 해당 주소를 저장하고 있다가 필요할 때마다 참조해서 쓰는 방식이다. 따라서 기존의 값과 타입이 변경되어도, 의도한대로 값이 저장되는 것을 확인 할 수 있다. 타입이 변경되었다하더라도, 기존의 박싱된 상자를 지우고 새로 박싱하여 힙에 저장한 뒤 주소를 바꾸면 되기 때문이다. int a = 30; object b = (object)a; WriteLine("a: " + a); WriteLine.. 2021. 5. 20. [C#] var 키워드 var var는 컴파일러가 데이터형식을 알아서 파악하여 선언해주는 형식이다. int와 string 같은 명시적 형식으로 선언하지 않아도, var를 이용하여 변수를 선언하면 컴파일러가 자동으로 해당 변수의 형식을 지정해준다. 만약 int로 선언했을 경우, 어떤 인자가 들어와도 int형으로 들어오게 된다. WriteLine("int로 선언"); int a_int = 1; //int b_int = "안녕"; int c_int = 'c'; int d_int = (int)3.14; WriteLine("a: " + a_int); //WriteLine("b: " + b_int); WriteLine("b: 선언 불가"); WriteLine("c: " + c_int); WriteLine("d: " + d_int); 하지.. 2021. 5. 20. 이전 1 다음 반응형