Nullable 타입 질문드립니다.

안녕하세요!

primitive type에는 null을 대입할 수 없어 nullable 타입으로 선언해주면 null을 대입할 수 있는데

int? number = null;

reference type에 nullable을 사용하는 경우는 어떤 경우인가요?
null일수도 있다는 걸 명시적으로 표현해주기 위함일까요?

class Person { }

Person person = null;
Person? person = null;
2 Likes

네 맞습니다. 다만 primitive type의 경우 Nullable<T>이 되지만 reference type의 경우 컴파일 이후 타입이 달라지는 것은 아닙니다. 컴파일 시점에서 Person일 경우 초기화 하여야 하고 Person?일 경우 초기화 하지 않아도 경고가 뜨지 않습니다.

6 Likes

아하 그래서 reference type 에서는 Nullable 의 메서드를 사용할 수 없었군요.
답변 해주셔서 감사합니다!

2 Likes