C#에서 Nullable 연산자는 null 값을 안전하게 처리하는 데 필수적인 도구입니다. 이번 글에서는 ??, ??=, 그리고 ?. 연산자의 작동 원리와 활용법을 자세히 살펴봅니다.
1. ?? 연산자 (null 병합 연산자)
?? 연산자는 왼쪽 피연산자가 null일 경우 오른쪽 값을 반환합니다. 간단히 기본값 설정에 유용합니다.
string name = null;
string displayName = name ?? "이름 없음";
Console.WriteLine(displayName); // 출력: 이름 없음
2. ??= 연산자 (null 병합 할당 연산자)
??= 연산자는 변수에 값이 없으면(즉, null일 때) 오른쪽 값을 할당합니다. 기존 값이 있으면 무시합니다.
string title = null;
title ??= "기본 제목";
Console.WriteLine(title); // 출력: 기본 제목
string otherTitle = "초기 제목";
otherTitle ??= "새 제목";
Console.WriteLine(otherTitle); // 출력: 초기 제목
3. ?. 연산자 (null 조건부 접근 연산자)
?. 연산자는 객체가 null이 아닐 때만 멤버에 접근하거나 메서드를 호출합니다. null일 경우 예외 없이 결과는 null이 됩니다.
Person person = null;
string personName = person?.Name; // person이 null이므로 personName은 null
person = new Person { Name = "홍길동" };
personName = person?.Name; // "홍길동"
이렇게 Nullable 연산자를 사용하면 널 참조 예외를 줄이고 코드 가독성도 높일 수 있습니다. 적재적소에 활용해 보시기 바랍니다.
'C#' 카테고리의 다른 글
| C# 프로퍼티 패턴(Property Patterns) 활용 예제 (0) | 2026.06.12 |
|---|---|
| C# Reflection으로 메타데이터 수정하기 (0) | 2026.06.12 |
| C# Operator Overloading으로 사용자 정의 연산 구현 (0) | 2026.06.11 |
| C# 메서드 오버로딩과 오버라이딩 차이 및 모범 사례 (0) | 2026.06.10 |
| C# 인터페이스의 명시적 구현 활용과 주의사항 (0) | 2026.06.05 |