본문 바로가기

c#27

[C#] var var - 데이터의 타입을 개발자가 아닌 컴파일러가 결정하게 하는 변수 c#은 강력한 형식 검사를 하는 언어이지만, var 키워드를 통해서 약한 형식 검사를 하는 언어의 편리함도 지원한다. int, string 같은 명시적 형식 대신 var를 사용해서 변수를 선언하면 컴파일러가 자동으로 해당 변수의 형식을 지정해준다! 초기화 단, var 키워드를 이용해서 변수를 선언하려면 반드시 선언과 동시에 초기화를 해주어야 한다. 그래야 컴파일러가 그 데이터를 보고 형식을 추론할 수 있다. var a = 3; // a는 int 형식 var b = "Hello~" // b는 string형식 var는 지역 변수로만 사용 가능하다! 또한 var는 지역변수로만 사용할 수 있다. var 키워드로 필드를 선언하면 컴파일러가 무.. 2019. 4. 28.
[C#] Nullable 형식 Nullable 형식 - Null (비어있는) + able (~ 될 수 있는), 즉 "비어 있는 상태가 될 수 있는" 형식이라는 뜻을 나타낸다. 우리가 프로그래밍을 하다 보면 어 떤 값도 가지지 않는 변수가 필요할 때가 있는데 0이 아닌 비어 있는 변수에게 할당된 메모리 공간을 비워 둘 수 있도록 Nullable형식을 사용하면 된다. 변수 선언 방법 데이터 형식? 변수 이름; 값 형식? 참조 형식? Nullable 형식을 사용할 수 있는 경우는 값 형식에 한해서만 된다. 참조 형식은 사용불가! int? a = null; float? b = null; double? c = null; 위에서 선언한 변수는 모두 null로 초기화됐는데, 뜻은 "해당 변수를 비운다"라는 뜻이다. 그렇다면 아무 값도 넣지 않으면.. 2019. 4. 28.
[C#] 박싱과 언박싱 박싱(Boxing) - 값 형식을 참조 형식으로 변환하는 것을 말하며 스택에 있는 데이터가 힙으로 복사 언박싱(Unboxing) - 참조 형식을 값 형식으로 변환하는 것을 말하며 힙에 있는 데이터가 스택에 복사 값 형식의 자료는 스택 메모리 영역에, 참조 형식의 자료는 힙 메모리 영역에 할당이 된다. object 형식은 참조 형식 이기 때문에 힙에 데이터를 할당. int와 double 은 값 형식이기 때문에 스택에 데이터를 할당하지만 값 형식의 데이터 형식도 object 형식 객체에 담을 수 있다. 이처럼 object 형식에 값 형식 데이터를 할당하려고 하면 object 형식은 자동으로 박싱을 수행해서 데이터를 힙에 할당한다. 박싱 언박싱 a는 20이 박싱 되어 저장되어 있는 힙을 참조하고 있다. b는 .. 2019. 4. 28.