안녕하세요!
primitive type에는 null을 대입할 수 없어 nullable 타입으로 선언해주면 null을 대입할 수 있는데
int? number = null;
reference type에 nullable을 사용하는 경우는 어떤 경우인가요?
null일수도 있다는 걸 명시적으로 표현해주기 위함일까요?
class Person { }
Person person = null;
Person? person = null;
안녕하세요!
primitive type에는 null을 대입할 수 없어 nullable 타입으로 선언해주면 null을 대입할 수 있는데
int? number = null;
reference type에 nullable을 사용하는 경우는 어떤 경우인가요?
null일수도 있다는 걸 명시적으로 표현해주기 위함일까요?
class Person { }
Person person = null;
Person? person = null;
네 맞습니다. 다만 primitive type
의 경우 Nullable<T>
이 되지만 reference type
의 경우 컴파일 이후 타입이 달라지는 것은 아닙니다. 컴파일 시점에서 Person
일 경우 초기화 하여야 하고 Person?
일 경우 초기화 하지 않아도 경고가 뜨지 않습니다.
아하 그래서 reference type 에서는 Nullable 의 메서드를 사용할 수 없었군요.
답변 해주셔서 감사합니다!