C#의 nullable 참조 타입
이 레슨에서는 nullable 참조 타입으로 null 값이 나올 수 있는 곳을 컴파일러가 찾도록 돕게 합니다.
소개
NullReferenceException 오류는 null인 변수에 접근할 때 생기며, 가장 흔한 오류 중 하나입니다. C#에서는 string?처럼 ? 기호로 어떤 변수가 null일 수 있는지 명시할 수 있습니다. 그러면 null을 확인하지 않고 그 변수를 쓸 때 컴파일러가 경고합니다.
변수 nickname은 string? 타입이므로 null일 수 있습니다. ?? 연산자(null 병합)는 nickname이 null이면 "Anonymous"를 돌려주므로 displayName에는 항상 값이 있고 Length에 안전하게 접근할 수 있습니다. 출력 결과는 Anonymous (9)입니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
class Program
{
static void Main()
{
string? nickname = null;
string displayName = nickname ?? "Anonymous";
Console.WriteLine($"{displayName} ({displayName.Length})");
}
}
Anonymous (9)디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.