연산자란?
연산자란 특정한 작업을 하기 위한 기호나 키워드를 의미합니다.
흔히들 사용하는 산술, 논비, 비교 연산자 등등 굉장히 많은 종류의 연산자가 존재합니다.
하지만 이번에 알아볼 연산자는 처음 보면 생소할 수 있는 연산자입니다.
?. (null 조건부 연산자)
?. 연산자는
● 왼쪽 피연산자가 null이면 null을 반환
● 왼쪽 피연산자가 null이 아니면 오른쪽 멤버를 실행

위의 예제와 같이 왼쪽의 값이 null일 때는 null이 반환되므로 TakeDamage()를 실행하지 않지만
Player 객체에게 값을 할당해 주고 다시 실행해보면 TakeDamage()가 실행되는 것을 볼 수 있습니다.
?? (널 병합 연산자)
?? 연산자는
● 왼쪽 피연산자가 null이면 오른쪽 피연산자를 반환 (대입 x)
● 왼쪽 피연산자가 null이 아니면 왼쪽 피연산자를 반환

여기서 주의해야 할 점은 왼쪽이 null일 경우 오른쪽의 값을 왼쪽에 대입해주는 것이 아니라
오른쪽의 값을 '반환' 하는 것입니다.
??= (null 병합 할당 연산자)
??= 연산자는
● 왼쪽 피연산자가 null이면 오른쪽 피연산자를 대입 및 반환
● 왼쪽 피연산자가 null이 아니면 왼쪽 피연산자를 그대로 반환

??= 연산자는 ?? 연산자와 다르게 왼쪽 피연산자가 오른쪽 피연산자의 값도 참조한다는 점이 다릅니다.
< 연산자 요약 >
| 왼쪽 피연산자가 null일 때 | 왼쪽 피연산자가 null이 아닐 때 | |
| ?. 연산자 | null을 반환 | 오른쪽 멤버 실행 |
| ?? 연산자 | 오른쪽 피연산자 반환 | 왼쪽 피연산자 반환 |
| ??= 연산자 | 오른쪽 피연산자 대입 및 반환 | 왼쪽 피연산자 반환 |
위와 같은 연산자들을 상황에 맞게 잘 사용하면 코드가 간결해져 가독성이 향상되고 null 값을 안전하게 처리할 수 있습니다.
'개발, IT > 유니티' 카테고리의 다른 글
| [Unity] 오브젝트(Object), 컴포넌트(Component)와 프리팹(Prefab) (0) | 2025.10.15 |
|---|---|
| [Unity] 유니티 생명주기 (0) | 2025.10.14 |
| [Unity] Enum과 [System.Flags] 속성을 이용해 상태이상 관리하기 (0) | 2025.09.13 |
| [Unity] DoTween을 이용한 애니메이션 만들기 (0) | 2025.09.07 |
| [Unity] NewtonSoft Json (0) | 2025.09.04 |