결론적으로,
상수 / constant : 한번 정하면 바뀌지 않는 값. 원하면 수정할 수 있는 변수와 반대.
리터럴 / literal : 어떤 것을 나타내는 문자 그대로의 값. 1, 2.3431, true 처럼, 내가 표현하는 값 그 자체.
위키백과에 작성된 바로는,
두 단어의 의미가 같은 부분은 '변하지 않는 것' 밖에 없다.
사실은 오버로딩과 오버라이딩처럼 다른 부류의 단어라고 이해했다.
상수
int a = 1; //변수
const int a = 1; //상수
변수든 상수든, 값을 저장할 수 있는 공간인 것은 똑같다.
상수는 다시 수정할 수가 없을 뿐이지.
리터럴
리터럴의 언어적 의미는 아래와 같다.
결국, 아래처럼 문자 그대로의 값을 리터럴이라고 한다.
1
2.3431
true
Q. 그럼 리터럴에선 어떤 부분이 변치 않는 값인가?
A. 2라는 값과, 1+1이라는 값이 같은지 생각해보면 될 것 같다.
물론, 대부분은 수학적으로 1+1 = 2라고 생각하지만,
어떤 사람들은 1+1 = 1 이라고 할 수도 있는 것이다.
그렇기 때문에 1이라는 값은 변치 않는 값이라고 이야기 한다.
결론
검증할 수 없는 수많은 개인 블로그를 보며 정리를 해보자면,
변경할 수 없는 값이 들어갈 수 있는 공간은 '상수'
변수에 들어갈 수 있는 '문자 그대로의 값' 은 리터럴이다.
P.S. TCP SCHOOL페이지에서는, 전자를 '심볼릭 상수', 후자를 '리터럴 상수' 라고 구분한다.
'ㄱ. 걱정과 공부 > 오늘의 한웅큼' 카테고리의 다른 글
온 프레미스와 오프 프레미스. (0) | 2024.08.21 |
---|---|
SQL과 NoSQL (9) | 2024.07.24 |
JSON 과 XML. (0) | 2024.06.20 |
WBS(Work Breakdown Structure) (0) | 2024.06.15 |