티스토리 뷰

728x90

프로그래밍 언어를 사용하면서 변수, 키워드(예약어), 연산자등의 다양한 문법 구조가 있지만 중요한 역할을 하는 요소는 바로 리터럴입니다. 리터럴(literal)은 단어적 의미인 "문자 그대로의" 의미 처럼 숫자, 문자등의 값 그대로를 의미하는 문법 요소입니다. 변하지 않는 값이므로 상수(Constant)값이라 지칭하기도 합니다.

그런데 동일한 숫자 값일지라도 서로 다르게 취급될 수 있습니다. 예를 들어 10과 10UL은 같은 값이지만 10은 int타입이고 10UL은 unsigned long 타입으로 표현 범위가 완전히 다릅니다. 이처럼 C#의 다양한 데이터형에 따라 리터럴 표현 방법도 다양합니다.



■ 정수형 리터럴

C/C++과는 달리 2진수 및 8진수 표현은 존재하지 않습니다. 0x를 앞에 붙이면 16진수로 표현할 수 있고 접두어 및 16진수 표현의 영문자는(A~F) 대소문자 모두를 사용할 수 있습니다. 숫자만 기술한 경우에는 값의 크기와 부호에 따라 2,147,483,647 이하는 int, 2,147,483,648 이상은 uint, 9223372036854,775,807 이하는 long, 9223372036854775808 이상은 ulong으로 자동 처리됩니다. 10UL처럼 숫자에 접미어를 붙여서 값에 따른 기본형이 아닌 다른 데이터형으로 취급되도록 지정할 수 있습니다. 대소문자를 모두 사용할 수 있으며 U는 unsigned, L은 Long형으로 취급합니다. Short과 같은 다른 정수형에 대한 접미어는 존재하지 않습니다. 이런 경우에는 연산 결과를 캐스팅(Casting)하는 방법을 적용하면 됩니다.


■ 실수형 리터럴

소숫점을 포함하는 숫자를 입력하면 기본적으로는 Double형으로 취급됨을 기억해야 합니다. 대소문자와 관계없이 F, D, M 접미어를 붙여서 다른 타입의 리터럴로 지정할 수 있습니다. 접미어를 붙이면 소숫점과 관계없이 해당 타입으로 취급됩니다. 예를 들어 10은 int형 정수지만 10F은 10.0의 의미를 갖는 Float형 실수입니다.


■ 문자 리터럴

char 타입으로 하나의 문자를 표현하는 방법입니다. 작은 따옴표 내부에 특정 문자를 표현하며 문자열과는 완전히 다른 형태로 취급하므로 주의해야 합니다. 작은 따옴표 내에 스스로 및 기타 특수를 표현하는 방법으로 '\' 에스케이프를 사용합니다. 아래와 같은 문자로 에스케이프 문자를 표현할 수 있습니다.

  • \' : ' 문자
  • \" : " 문자
  • \\ : \ 문자
  • \0 : 널문자
  • \a : 경고(Alert)
  • \b : 백스페이스
  • \f : 폼피드(페이지바꿈)
  • \n : 줄바꿈
  • \r : 리턴
  • \t : 수평 탭
  • \u, \U : 유니코드(+0000 ~ +FFFF)
  • \x : 16진 문자코드
  • \v : 수직 탭


■ 문자열 리터럴

큰 따옴표 내부에 문자열을 표현하며 문자 표현의 에스케이프를 그대로 사용할 수 있습니다. ""와 같이 아무것도 없는 문자열도 가능합니다. 큰 따옴표 앞에 @를 붙이면 verbatim(버바팀, 버베이팀)문자열로 이 문자열에서는 에스케이프를 지원하지 않고 입력한 그대로를 문자열로 취급합니다. 경로 표시나 에스케이프 문자 자체를 표현할 때 유용합니다.


■ 기타 리터럴

기타 리터럴로 논리값을 표현하는 true/false와 널을 표현하는 null이 있습니다.


■ 상수 정의

상수(Constant)는 프로그램 실행 과정에서 값이 변하지 않는 것을 의미합니다. 리터럴의 경우가 상수에 해당합니다. 그런데 이율, 설정값등 자주 하는 리터럴 값은 변수를 정의하여 변수에 해당 리터럴 값으로 초기화하고 변수 정의 앞에 "const"를 붙이면 해당 변수는 값을 변경할 수 없도록 제한되어 상수로 사용할 수 있습니다. 이런 방식으로 상수를 정의해 놓으면 값이 바뀌더라도 상수를 정의한 부분만 변경하면 되기 때문에 프로그램 관리가 용이해 집니다.

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함