본문 바로가기
프로그래밍/C#

리터럴(Literal)과 상수(Constant)에 대해서

by bantomak 2023. 10. 6.
반응형

리터럴(Literal)

리터럴(Literal)이란 소스 코드의 고정된 데이터를 의미한다.

 

"리터럴이란 소스코드의 고정된 값을 대표하는 용어"라고 한다.

"고정된 값 == 변하지 않는" 값을 말하며, 좀 더 쉽게 말하자면 "리터럴이란 소스코드에 하드코딩된 값"들을 말한다.

 

bool b      = true;         //불리언
int num1    = 100;          //10진수
int num2    = 0x11;         //16진수
int num3    = null;         //null
float num4  = 1.2f          //실수
double num5 = 0.11111;      //실수
char chr    = 'c';          //문자
string str  = "BlockDMask"; //문자열

 

위의 코드를 보면 = 의 오른쪽처럼 프로그래머가 직접 입력할 수 있는 값들이 존재한다.

해당 값들이 리터럴이다.

 

프로그램이 시작하고 끝날 때까지. = 의 오른쪽에 존재하는 해당 값들은 변경되지 않는다.

이러한 리터럴들을 구분하기 위해서 C#에서는 아래와 같은 특별한 표기 방법을 이용한다.

 

10진수 표기      : 123

16진수 표기      : 0x12

8진수 표기        : 012

int, long             : 111

unsigned int      : 1111u

unsigned long   : 1111ul

double              : 111.1

float                  : 111.1f

decimal             : 111.1m

 

var binary = 0b01;
var hex = 0xFFFFFFFF;

 

상수(Constant)

상수와 리터럴 둘 다, 변하지 않는 값(데이터)을 의미한다.

코드적으로 말하자면, 상수(Constant)는 소스코드의 변하지 않는 변수를 말한다.

 

const int constant = 123;
constant = 23;   // error

 

상수는 한번 할당되면 변경할 수 없다.

 

정리하자면 리터럴은 변하지 않는 데이터로 우변에 쓰인다.

상수는 변하지 않는 변수로 좌변에 쓰인다.

 

참고 사이트

 

[C#] 리터럴(Literal)이란?

안녕하세요. BlockDMask 입니다.C# 을 공부하다보면, 리터럴(Literal) 이라는 말이 많이 나오는데요. 그때마다 리터럴이 뭐지? 하면서 그냥 넘어가곤 했습니다.이번시간에는 리터럴이 무엇인지 간단하

blockdmask.tistory.com

댓글