본문 바로가기

Language/Java

[Java] 상수와 리터럴

상수

항상 변하지 않는 값을 '상수(constant)'라고 한다.

자바에서는 final 예약어를 사용해 선언한다.

final double PI = 3.14;
final int MAX_NUM = 100;

상수 이름은 대문자를 사용, 단어 연결할 경우 언더바( _ )를 이용한다.

한번 선언한 상수는 변하지 않기 때문에 보통 선언과 동시에 값을 지정한다.

 

[실습] 상수 사용하기
package chapter2;

public class constant {
	public static void main(String[] args) {
		final int MAX_NUM = 100;  //선언과 동시에 초기화
		final int MIN_NUM;
		
		MIN_NUM = 0;  //초기화하지 않으면 오류 발생
		
		System.out.println(MAX_NUM);
		System.out.println(MIN_NUM);
	}
}

 

상수를 사용하면 편리한 이유

프로그램 내부에서 반복적으로 사용하고 변하지 않아야 하는 값을 상수로 선언하여 사용하는 것이 좋다.

if(count == 30) { ... } //값이 30이라면 ...
while(i < 30) { ... }   //30보다 작은 동안 ...

위처럼 값을 코드에 직접 사용했을 때 상수가 변경될 경우 프로그램에서 30을 쓴 부분을 모두 찾아서 고쳐야 한다.

final int MAX_NUM = 30;
if(count == MAX_NUM) { ... }  //값이 MAX_NUM이라면 ...
while(i < 30) { ... }         //MAX_NUM보다 작은 동안 ...

위처럼 상수로 선언해 사용한다면 상수를 선언한 부분의 값만 변경해 주면 된다.

 

 

 

 

 

리터럴

리터럴(literal)이란 프로그램에서 사용하는 모든 숫자, 문자, 논리 값(true, false)을 일컫는 말이다.

char ch = 'A';
int num = 10;
final double PI = 3.14;

위에서 사용한 'A', 10, 3.14와 같은 문자와 숫자를 '리터럴' 혹은 '리터럴 상수'라고 한다.

리터럴은 특정 메모리 공간인 상수 풀(constant pool)에 놓인다.

상수 값이 메모리 공간 어딘가에 존재해야 변수에 그 값을 복사할 수 있다.

숫자가 변수에 대입되는 과정은 일단 숫자 값이 어딘가 메모리에 쓰여 있고, 이 값이 다시 변수 메모리에 복사되는 것이다.

 

 

 

https://github.com/hyunjin1292/Java_study

 

GitHub - hyunjin1292/Java_study: java study book practice example

java study book practice example. Contribute to hyunjin1292/Java_study development by creating an account on GitHub.

github.com


※ 이지스퍼블리싱의 'Do it! 자바 프로그래밍 입문' 책을 보고 공부한 내용을 정리하고 있습니다.

'Language > Java' 카테고리의 다른 글

[Java] 기본 연산자  (0) 2022.08.08
[Java] 형 변환  (0) 2022.07.22
[Java] 자료형  (0) 2022.07.19
[Java] 변수란 무엇일까?  (0) 2022.07.15
[Java] 컴퓨터가 데이터를 표현하는 방법  (0) 2022.07.14