[C#] readonly 키워드

Date:     Updated:

카테고리:

태그:

readonly

private readonly List<Enemy> enemies = new List<Enemy>();
  • 해당 변수 enemies읽기 전용이라는 의미
    • 한번 오브젝트가 할당된 다음에는 이 변수에는 다른 오브젝틀르 새로 덮어 쓸 수 없음

const 와의 차이

  • const
    • 컴파일 타임의 상수
    • 정수형 실수형 string 같은 내장 자료형에만 사용 가능
    • 초기화를 변수 선언과 동시에 해야 한다.
  • readonly
    • 런타임 상수
      • 런타임에 초기화가 한번 이루어진 후로는 값을 수정할 수 없음.
      • 런타임 때 정해질 수 있어 더 유연함.
      • 위 코드에서 enemies 리스트는 동적으로 정해지기 때문에 const보단 readonly를 사용하는 것이 옳은 경우다.
    • 어떤 자료형이든 상관 없이 모든 자료형에 사용 가능하다.
    • 초기화가 변수 생성과 동시에 이루어져야 할 필요는 없다.
      • 단, 생성자 단계에서 단 1 번 할당을 통해 초기화 할 수 있다.

참고 블로그

https://www.ikpil.com/1162



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

C Sharp 카테고리 내 다른 글 보러가기

댓글 남기기