var 키워드

정찬호·2023년 4월 29일
0

유니티 튜토리얼 프로젝트를 진행하던 도중 코드에서 쓰이는 var이 신경쓰여서 찾아보았습니다.
자동으로 들어오는 값의 타입으로 바꿔준다는 것만 알고 있었는데, 과연 성능적으로 더 좋은 건지 의문이 들기도 하고 한 번 알아두고 가는 것도 나쁘지 않겠죠.

var

  1. 변수에 값을 즉시 할당할 때만 작동하며, 오직 C#의 지역변수에만 사용이 가능하다.(클래스 내부 - X, 메서드 내부 -O)(선언과 동시에 초기화해야 한다.)
  2. 긴 제너릭 타입 이름을 대체하여 더 짤게 선언하기 위한 방법이다.
  3. 직접 타입을 볼 수 없을 때, 예를 들어 함수의 반환값을 받을 때 사용하는 것은 피하는 것이 좋다.
  4. for 루프에서 var을 사용하지 않는 것이 좋다. for에서 보통은 int형을 사용하기 마련이지만 다음 같은 경우에는 사용하는 의미가 있을 수 있다.
LinkedList<SomeTpe> List;
for(var n=list.first;n!=null;n=n.next)
  1. 코드가 컴파일될 때 할당되는 항목에 따라 유형이 유추된다. 실제 실행시에는 성능차이가 없다고 한다.(변수의 자료형을 자동을 저장)

참고
https://answers.unity.com/questions/1087276/why-woud-i-use-var-in-c.html
https://forum.unity.com/threads/is-using-var-instead-of-specific-types-really-ok.934611/
https://whyprogrammer.tistory.com/241

profile
게임 개발 지망생입니다.

0개의 댓글