리터럴
리터럴이란, 컴파일시 프로그램 내에 정의되어 있는 그대로 정확히 해석되어야 할 값을 의미한다. 이에 비해, 변수란 프로그램의 실행 중에 상황에 따라 다른 값들을 표현할 수 있으며, 상수는 프로그램 실행 중 늘 같은 값을 표현한다. 그러나 리터럴은 명칭이 아니라, 값 그 자체이다. 예를 들어 아래의 수식에서 "x"는 변수이며 "7"은 리터럴이다.
x = 7
리터럴은 숫자 뿐 아니라, 문자 또는 문자열일 수 있다.
원래 리터럴이란 (수학에서의)상수와 유사합니다. 변할 수 없는 값 그 자체를 말하는 것이니까요.
하지만 우리가 일반적으로 프로그래밍에서 말하는 "상수"는 정확히 표현하자면
재할당이 불가능한 변수라고 해석해야 합니다.
하지만 우리가 일반적으로 프로그래밍에서 말하는 "상수"는 정확히 표현하자면
재할당이 불가능한 변수라고 해석해야 합니다.
예를들어
String name = "스쿨쥐";
int age = 29;
여기서 "스쿨쥐"는 문자열 리터럴이라고 말하며, 29는 숫자 리터럴이죠. "스쿨지", 29와 같이 이 값 자체를 다른 값으로 바꿀수는 없습니다. 여기서 name과 age를 변수라고 하지요
만약
final String name = "스쿨쥐";
final int age = 29;
라
고 표현했을 때 "스쿨쥐", 29는 여전히 리터럴이지만 name과 age는 뭐라고 부를까요? 변수? 맞습니다. 상수? 일반적으로
통용되는 "상수"라면 맞습니다. 하지만 정확히 표현하면 재할당이 불가능한 변수가 정확한 표현이지요.
프로그래밍을 하다보면 용어에 대한 정의가 굉장히 중요합니다. 하지만 변수, 상수와 같이 우리가 일반적으로 행하는 수학(대수학이라고
하죠)에서의 변수와 상수는 변하는 값, 변하지 않는 값의 의미입니다. 하지만 프로그래밍에서의 변수와 상수는 대수학에서의 정의를
그대로 사용하지 않습니다.
프로그래밍에서의 변수와 상수는
변수 : 값을 할당할 수 있는 메모리 공간을 가리키는 이름
상수 : 값을 한번 할당하면 다른 값으로 변경할 수 없는 메모리 공간을 가리키는 이름
'코드 > Knowledge Base' 카테고리의 다른 글
롱테일 법칙 (0) | 2013.03.14 |
---|---|
RFP (0) | 2013.03.14 |
Markup Language (0) | 2012.03.11 |
Edit plus 자동들여쓰기 실행파일 (0) | 2012.01.03 |
JAVA SE, EE, ME 차이 (0) | 2011.12.29 |