기초 메모지

C# - 상수(Constant), 변수(Variable) 본문

Languages/C#

C# - 상수(Constant), 변수(Variable)

라큐브 2022. 7. 7. 11:02

프로그램은 수학과 밀접한 관계를 가지고 있습니다. 

수학적 의미 프로그래밍 키워드
상수常數 (Constant) : 변함없는 (=Fixed) 수 const : 상수(Constant)의 축약
변수變數 (Variable)  : 변동이 심한, 가변적인 수 var     : 변수(Variable)의 축약

상수(Constant) : 한번 정해지면 변하지 않는 수

아래와 같이 코드를 작성하면 컴파일러에서 에러를 표시합니다.

"변수, 속성 또는 인덱서여야 합니다." 즉 상수는 변경할 수 없다는 것입니다.

 

 

 

 

 

 

 

 

 

변수(Variable) : 언제라도 변할 수 있는 수

변수는 사용자가 원할 때 언제든지 값을 변경 할 수 있습니다.

상수(Constant)인것 같지만 변수(Variable)인 readonly

변수이지만 읽기만 가능하게 만드는 키워드 입니다.

변수를 상수처럼 사용할 때 사용합니다.

"그러면 상수를 사용하지 굳이 readonly 키워드를 사용하지?" 라는 의문이 있을 수도 있습니다.

제목이 "상수(Constant)인것 같지만 변수(Variable)인 readonly" 인 것 처럼 변수이기 때문에 값을 바꿀 수 있습니다.

 

에러를 살펴보면 "단, 필드가 정의된 형식의 생성자 또는 초기값 전용 setter나 변수 이니셜라이저에서는 예외"라고 합니다.

즉, 객체를 초기화 할때는 값을 바꿀 수 있습니다.

 

위를 참고하면 VarValue 초기값이 5678 이지만 객체 생성 후 확인해보면 1234 로 변경된 것을 확인할 수 있습니다.

  상수(Constant) 변수(Variable) 읽기 전용 변수 (Variable Readonly)
표기 const var 또는 Type 변수명 readonly
수정 여부 NO YES YES(생성자 또는 초기값)

 

 

반응형

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

C# - 삼항 연산자(Ternary Operator)  (0) 2022.07.08
C# - 유효 범위(Scope)  (0) 2022.07.07
C# - 분할 클래스(Partial Class)  (0) 2022.07.05
C# - 인터페이스(Interface)  (0) 2022.07.05
C# - 비동기 처리(async, await)  (0) 2022.07.05
Comments