주인장의 프로그래밍 개발 공부방

[Chapter 1 변수] 4. 변수, 상수, 리터럴?? 본문

프로그래밍 기본 지식/Chapter 1 변수

[Chapter 1 변수] 4. 변수, 상수, 리터럴??

거신 2019. 5. 10. 21:41

이전에 우리는 변수를 선언하는 방법을 배웠고

코드를 작성하는 방법까지 연습했다.

이 글을 읽고 있다면 이제 변수를 선언하는데 있어서 아무런 문제가 없을 것이라고 생각한다.

 

그렇다면 뜬금없지만 변수, 상수, 리터럴에 대한 설명을 해보겠다.

 

목표 : 변수, 상수, 리터럴의 의미를 정확하게 알고 차이점을 정확하게 파악할 수 있다.

 

1. 변수(Variable)

 

우리가 맨 처음부터 지겹도록 들었던 단어다.

바로 변수(Variable).

다시 한 번 상기시키자면

변수란

하나의 값을 저장할 수 있는 저장공간

이라고 입이 마르고 닳도록, 손가락이 골절이 되도록 언급했던 내용이다.

이렇게까지 얘기했는데 아직까지 모른다면 당신은 정말 너무한 인간이다. 나쁜놈이다.

변수는 지금까지 계속 알아봤기 때문에 자세한 설명은 생략한다.

 

2. 상수(Constant)

 

여기서 갑자기 생소한 단어가 나타나기 시작했다.

바로 상수(Constant)라는 녀석이다.

여기서 말하는 상수의 뜻은 수학적인 의미와 동일하다.

변하지 않고 항상 같은 값만 가지고 있는 수를 말한다.

프로그래밍에서도 절대 변하지 않는, 변하지 않아야 하는 변수를 상수라고 말하고

이는

단 한 번만 값을 저장할 수 있는 저장공간

이라고 이해하면 좋겠다.

우리가 상수를 사용하는데에는 필요한 녀석이 있는데 바로 final이라는 녀석이다.

 

예를 들면,

우리가 변수를 하나 선언해보자.

 

int i = 10;

 

이라는 코드 한 줄이 있다.

여기에서 ii라는 이름을 가진 변수(Variable)가 된다.

그런데 이 코드 맨 앞에 final이라는 녀석을 붙이면 이렇게 변한다.

 

final int i = 10;

 

우리가 변수를 선언할 때 그 앞에 final이라는 녀석을 붙이게 되면

여기에서 ii라는 이름을 가진 변수가 아니라 상수(Constant)가 되는 것이다.

상수는 단 한 번만 값을 저장할 수 있는 값이라고 했는데

만일 저렇게 코드를 작성하고 그 다음에 상수 i에 다른 값을 넣으려고 한다면

바로 오류를 출력해 줄 것이다.

왜?

상수는 한 번 값을 지정하면 절대 바꿀 수가 없거든.

따라서 final은 상수를 선언할 때 꼭 필요한 녀석임과 동시에

final을 선언했다면 그 변수의 값은 절대 바뀔 수가 없다.

 

3. 리터럴(Literal)

 

또다시 이상한 녀석이 나타났다.

바로 리터럴(Literal)이라는 녀석이다.

리터럴의 의미는 너무나 간단하다.

바로

그 자체로, 존재 자체만으로 값을 의미하는 것

을 뜻한다.

 

앞서 예를 든

 

int i = 10;

 

이라는 코드에서 10이 바로 리터럴이 되는 것이다.

10은 다른 의미를 내포하고 있거나 다른 뜻을 말하는 것이 아니라

10진수의 10이라는 그 자체의 값을 의미하는 것이기 때문이다.

좀 더 쉽게 말하자면

변수에 저장되는 값들을 리터럴이라고 이해하면 편할 것이다.

 

4. (심화)리터럴의 접미사

 

우리가 프로그래밍을 하다보면 가끔씩

변수를 선언할 때 리터럴(Literal), 즉, 값 뒤에 따라오는 접미사들을 볼 수가 있을 것이다.

여기에서 붙는 접미사들의 역할은

해당 값들이 선언된 변수 타입과 똑같다는 것을 알려주기 위한 표시라고 생각하면 좋겠다.

 

다시 예를 들어보자.

 

long l = 10000000000000L;

 

이라는 코드가 있다.

여기서 리터럴의 끝을 보면 L이 붙게 되는데

L이 바로 접미사가 되겠다.

L의 역할은 리터럴이 long타입의 변수 값이라는 표시를 해주는 것이다.

접미사는 L, f, d가 있고

순서대로 long타입, float타입, double타입이 되겠다.

 

특히 실수형 타입인 float과 double에서는

접미사를 붙이지 않으면 실수형 타입의 기본값인 double형으로 선언이 되고

당연히 기본값이기 때문에 d는 생략이 가능하다.

 

5. 마무리

 

이번 시간에는 변수와 상수, 그리고 리터럴이 무엇인지에 대해서 알아봤다.

변수(Variable)

하나의 값을 저장할 수 있는 저장공간이고

이는 얼마든지 값을 바꿀 수 있다.

 

상수(Constant)

단 한 번만 값을 저장할 수 있는 저장공간이고

값을 한 번 지정하면 절대 바꿀 수 없다.

상수에는 final이라는 예약어를 사용해야 된다.

 

마지막으로 리터럴(Literal)

그 자체로 의미를 가지는 값을 말한다.

다시 말해, 변수의 값이라고 생각하면 되겠다.

 

Comments