상수(constant)
항상 변하지 않는 값을 말한다.
자바에서는 final 예약어를 사용해 선언한다.
final double PI = 3.14;
final int MAX_NUM = 100;
상수 이름은 대문자를 주로 사용하고, 여러 단어를 연결하는 경우에 _ 기호를 사용하면 보기 좋음.
프로그램 내부에서 반복적으로 사용하고, 변하지 않아야 하는 값을 상수로 선언하면 좋음.
리터럴(literal)
프로그램에서 사용하는 모든 숫자, 문자, 논리값(true, false)을 일컫는 말이다.
char ch = 'A';
int num = 10;
final double PI = 3.14;
위에서 사용한 'A'. 10, 3.14와 같은 문자와 숫자를 리터럴 혹은 리터럴 상수라고 한다.
리터럴은 변수나 상수 값으로 대입할 수 있다.
프로그램이 시작할 때 시스템에 같이 로딩되어 특정 메모리 공간인 상수 풀(constant pool)에 놓인다.
숫자가 변수에 대입되는 과정은 일단 숫자 값이 어딘가에 메모리에 쓰여 있고,
이 값이 다시 변수 메모리에 복사되는 것이다.
리터럴 -> 상수 풀 -> 변수
자바에서 정수를 표현하는 메모리의 기본 크기는 4바이트인데 상수 풀도 마찬가지이다.
예시로 리터럴 10은 int형(4바이트)으로 처리된다.
long num = 12345678900;은 4바이트 크기에 들어갈 수 없기 때문에 long형, 즉 8바이트로 처리하라고 컴파일러에 알려 주어야 한다.
따라서 이 리터럴은 'long형으로 저장 되어야 한다'는 의미로 리터럴 뒤에 식별자 l이나 L을 쓰는 것이다.
마찬가지로 모든 실수는 double형(8바이트)로 처리되는데
float pi = 3.14;의 경우 3.14는 double 형이고, 변수 pi는 float형이므로 값을 대입할 수 없다.
따라서 3.14를 float형으로 처리하도록 float pi = 3.14F;와 같이 식별자 f나 F를 사용해야 한다.
'JAVA' 카테고리의 다른 글
| 연산자 (0) | 2024.12.06 |
|---|---|
| 형 변환 (1) | 2024.12.06 |
| 실수 자료형, 논리 자료형 (0) | 2024.12.02 |
| 문자 자료형 연습 / 'A'와 "A"는 다르다. (2) | 2024.12.02 |
| 3일차 자료형 (2) | 2024.11.21 |