왜 nullable이 필요할까?

값 형식은 null을 가질 수 없다. 그렇지만 비어있다라는 표현을 해야할 때가 있다.

예를들어

int형식은 0이 비어있는것은아니다.

bool형식은 true/false값만 가질 수 있는데. false가 비어있는것은 아니다.

bool? _getMarried;
public bool? GetMarried
{
	get {return _getMarried; }
	set { _getMarried = value; }
}

? 문자를 값 형식에 붙이면 C# 컴파일러는 빌드시에 자동으로 Nullable<T>타입으로 바꾸기만 할 뿐이다.