[C#] Null값 받을 수 있는 변수, nullable 변수

Learning 

When: 1학년 6월 1일

 

How:

여기에 적을 것을 적는 노트가 있는데, 지금 보니까 왜 궁금하게 되었는지 기억이 잘 나지 않지만, 아무래도 out 키워드를 공부하다 보니 Try문에 대해 알게 되었고, 그것을 조금 더 공부해보니 nullable 변수에 대해서도 공부하게 되었거나 Coroutine 변수는 null값을 받을 수 있는데, 왜 다른 변수는 null값을 받을 수 없는지 궁금해져서 공부하게 된 것 같습니다. (ㅎ)

 

Understanding:

nullable 변수는 이름 그대로 null 값이 들어갈 수 있는 변수입니다. 이 변수가 필요한 이유는 다양한데, 3가지 정도로 일단 정리해 보겠습니다.

 

  1. 전역 변수는 초기화하지 않아도, 값 타입이면 0으로, 참조 타입이면 null로 자동 초기화됩니다. 하지만 지역 변수(메서드 내에서 선언한 변수 등)는 초기화하지 않으면 사용할 수 없는 변수가 됩니다.  
  2. 만약 캐릭터의 hp를 표시해주는 코드를 짜려고 하는데, 그 값을 대입하는 것을 깜빡하면 0으로 출력되어 버그를 수정하기 어려워질 수도 있습니다.   
  3. 그냥 null(아직 없음) 값이 들어가야 할 변수가 필요할 수도 있습니다.     

nullable 변수를 선언하기는 쉬운데, 그냥 처음 변수를 선언할 때 타입 뒤에 ?를 붙여서 int? a 이렇게 쓰면 이 a 변수는 null 값이 들어갈 수 있는 int 변수가 됩니다.

 

Result: nullable 변수를 선언할 때는 타입 뒤에 ?를 붙여주면 됩니다. 시간에 따라 정해지지 않을 수도 있는 변수에 사용하면 값 말고도 null인지 아닌지에 대해서도 알 수 있습니다.

 
 

'C#' 카테고리의 다른 글

[C#] 딕셔너리(Dictionary)  (0) 2025.06.08
[C#] 일반화 프로그래밍 (Generic 형식)  (0) 2025.06.07
[C#] 인터페이스와 추상 클래스  (0) 2025.05.15
[C#] out, ref 키워드  (0) 2025.05.14
[C#] 프로퍼티  (0) 2025.05.13