본문 바로가기
프로그래밍 언어/JAVA

[Java] 실행 후 변하지 않는 값 - 상수와 리터럴

by 티옌.liy 2022. 11. 5.

결론부터 말하면

상수는 한번 입력하면 도중에 삭제, 수정이 안되는 변수다.

리터럴은 데이터 그 자체로 값임을 의미한다.


많은 Java 입문자들이

상수는 금방 이해하는데

리터럴은 많이 힘들어하길래

이를 정리해보았다.

 

 

1. 상수는 무엇인가?

 

사전적 정의는 ' 변하지 않는 수 ' 인데

상수(constant)는 프로그램이 실행되기전에

한번만 기록하고 실행 중에 삭제, 수정할 수 없는 변수다.

 

마치 ROM 처럼 사용하는건데

이 상수는 주로 어디에 사용하는가

 

전자레인지, 전기장판, 전기밥솥같이

필수 데이터를 한번 설정한 뒤 이후에 바뀌면 안되는

가전제품이나 주민번호 등에 주로 사용하는데

 

바뀌면 안되는 데이터는 상수이다.

 

가전제품의 기능이 작동하는 도중에 변경되거나

중간에 내 주민번호가 변경되면

대참사가 벌어질 것 아닌가

 

최근에는 '스마트' 라는 이름으로

냉장고의 온도 변경이 가능하게 만드는데

그런 경우엔 상수를 안쓴것이다.

스마트하지 않은가

 

 

2. 상수 사용법

 

Java에서 상수를 사용하는 방법은 간단한데

변수 타입 앞에 ' final ' 키워드만 붙여주면 된다.

 

// 주민번호를 상수로 선언했다.
final int MY_NUMBER = 703191-1234957;

 

이때 상수의 이름은

모두 대문자로 작성하는것이 암묵적인 관례이고

단어를 구분할 때는 _  언더바로 구분한다

 

만약 소문자로 상수를 작성하면

사방에서 갈굼을 받게 되므로

애초에 하지 말것을 권장한다

 

 

3. 리터럴은 무엇인가?

 

리터럴(literal)은 그 자체로 값을 의미한다는 뜻인데

이게 무슨 소리냐 하면

 

원주율을 의미하는 실수 값 ' 3.1415... '

영문 a의 대문자를 의미하는 문자 값 ' A '

뜻을 가진 단어를 의미하는 문자열 ' 컴퓨터 '

 

위와같이 값 자체에 어떠한 의미가 내포된 데이터를 말한다.

즉. 데이터에서 정보가 있다면 리터럴이다.

 

 

4. 리터럴 표기법

 

왜 사용법이라 하지않고 표기법이라 하였는가

리터럴은 기능이 아니라 표기를 위한 접미사이기 때문이다.

상형 문자도 리터럴이다.

 

위 그림처럼

같은 뜻도 나라별로 문자가 다르듯이

같은 실수형 타입도 float, double 처럼

목적에 따라 다르게 표기하기 때문이다.

 

종류 리터럴 접미사
논리형 true, false 없음
문자형 ' A ' , ' \n ' , ' /t ' 없음
문자열 ' 컴퓨터 ', ' 이름 ', ' 문장 '  없음
정수형 123, 0xFF, 0b1010 L
실수형 3.1415,  2.0e-4, 4.12e3 f, d

 

여기서 많이 사용되는건

long 변수 타입 값을 의미하는   L

float 변수 타입 값을 의미하는  f

doubloe 변수 타입 값을 의미하는  d

3가지 이다.

 

long num = 1234L;  // 1234의 값이 long 정수형 변수 타입의 값임을 명시
float num2 = 3.14f;  // 3.14의 값이 float 실수형 변수 타입의 값임을 명시
double num3 = 4.31247d;  // 4.31247의 값이 double 실수형 변수 타입의 값임을 명시

댓글