Nullable 타입 질문드립니다.

안녕하세요!

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

int? number = null;

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

class Person { }

Person person = null;
Person? person = null;
2개의 좋아요

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

6개의 좋아요

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

2개의 좋아요