상수(Constant)
- 코드 내에서 final로 선언
- 변수와는 반대로 프로그램 도중에는 수정불가
- 사용 목적
- 프로그램 내에서 변경되지 않아야 하는 값을 상수로 선언해두고 혹시 변경되는 경우 선언된 값만 수정
- 코드예시
final double PI = 3.14; final int Max_num = 100; PI = 5.55; // error 프로그램 도중 변경 불가
리터럴(Literal)
- 프로그램에서 사용하는 모든 숫자, 값, 논리값
- 변수나 필드에 지정할 수 있는 값 (예 : 1, 'A', "hello", 3.14, True)
- 종류 : 정수, 실수, 문자, 논리, 문자열
- 리터럴에 해당하는 값은 상수풀(constant pool)에 저장되고 필요한 경우 상수풀에서 가져와서 사용한다.
- 상수풀(constant pool)에 저장시 정수는 int, 실수는 double로 저장된다.
- long / float로 저장할하려는 경우 식별자(L/l, F/f)가 필요하다.
-
더보기힙 영역의 Permanent area(고정 영역)에 생성되어 JAVA 프로세스의 종료까지 계속 유지되는 메모리 영역.
기본적으로 *JVM에서 관리하며 프로그래머가 작성한 상수에 대해서 최우선적으로 찾고 없으면 상수풀에 추가한 후 그 주소값을 리턴한다.
*JVM 참고 글 : https://asfirstalways.tistory.com/158
형변환(Casting)
- 묵시적 형변환
- 작은수 -> 큰수
- 정수 -> 실수
-
int num = 3; long LNum = num; // 4byte -> 8byte
- 명시적 형변환
- 묵시적 형변환의 반대
- 반드시 변환되는 자료형 명시
- 자료의 손실 발생가능
-
int iNum = 1000; byte bNum = (byte)iNum; System.out.println(bNum); // -24 : 4byte -> 1byte로 자르면서 값이 변함(자료손실)
'JAVA > 언어입문' 카테고리의 다른 글
자바(JAVA) 조건문(if / switch-case) (0) | 2022.03.07 |
---|---|
자바(JAVA)의 다양한 연산자와 우선순위 (0) | 2022.03.04 |
JAVA 변수(variable)의 데이터타입(data type) - 실수형/논리형 (0) | 2022.03.03 |
JAVA 변수(variable)의 데이터타입(data type) - 문자형(char) (0) | 2022.03.02 |
JAVA 변수(variable)의 데이터타입(data type) - 정수형(byte, short, int, long) (0) | 2022.03.02 |
댓글