728x90
상수(Constant) = 변하지 않는 변수
리터럴(Literal) = 데이터 그 자체
int a = 123;
a는 변수, 리터럴은 123
final int a = 123;
int 앞에 final를 붙일 시 a는 상수
java 에서
변수 long 자료형으로 변숫값을 대입할 때 리터럴 값에 접미사 L 을 명시해야 8 byte 할당 한다
변수 float 자료형으로 변숫값을 대입할 때 리터럴 값에 접미사 F 을 명시해야 4 byte 한다.
java에서 리터럴은 약21억이 넘어가는 상수가 아닌 이상 그 이하의 수는 기본적으로 4 byte 크기로 스택 메모리 공간(operand stack)에 적재된다.
그럼 java 자료형 중 byte(1 byte), short(2 byte) 같은 경우 4 byte를 가지고 있는 리터럴 값의 앞에 3 byte, 2 byte 를 자르고 대입된다. (리터럴 값이 자료형의 범위를 벗어나면 안 된다.)
728x90
'Java' 카테고리의 다른 글
[Java] "== vs equals" (0) | 2022.05.27 |
---|---|
[Java] 스코프(scope) : { } (0) | 2022.05.20 |
[Java] 암시적 형변환 (0) | 2022.05.17 |
[Java] 전역(glpbal)변수, 정적(static)변수 (0) | 2022.03.25 |
[Java] 리플렉션 (0) | 2022.03.15 |
댓글