상수 : 값을 변경할 수 없는 변수
- 상수에 넣는 데이터는 숫자, 클래스 같은 데이터가 들어옴
- 이 때 상수가 값을 변경할 수 없다고 해서 상수의 데이터가 변하지 않는다고 착각하지만 참조변수의 주소값이 변하지 않을 뿐 주소가 가리키는 데이터까지 변하지 않는다는 의미가 아님
리터럴 : 개발자가 직접 입력한 고정된 값(데이터)으로 리터럴 자체는 변하지 않음
- 변수에 할당이 가능
- 고정 값을 나타내는 표기법
- 보통 인스턴스는 동적이므로 리터럴이 될 수 없지만 불변 클래스는 리터럴이 될 수 있음(값이 변한다면 새로운 객체를 만들게 되므로). 즉 리터럴은 기본형 데이터를 나타내지만 예외적으로 Immutable Class, VO Class역시 리터럴이라고 함
int a = 100; // 정수 리터럴 100
double b = 10.5; // 실수 리터럴 10.5
boolean c = false; // 불리언 리터럴 false
char d = 'A'; // 문자 리터럴 'A'
String e = "Hello world"; // 문자열 리터럴 "Hello world"
int a = 1 + 2; // 1 + 2 는 리터럴 X (표현식), 1과 2 각각은 리터럴
리터럴 대신 상수를 사용하면 수정 사항을 적용하기도 용이해지고 개발자가 일일이 리터럴을 기억할 필요가 없음
'JAVA' 카테고리의 다른 글
[자바] 오버로딩, 오버라이딩 (0) | 2024.12.24 |
---|---|
[자바] 상속, 추상클래스, 인터페이스 (0) | 2024.12.24 |
[자바] static 변수와 메서드 (1) | 2024.12.24 |
[자바] 접근 제어자 (0) | 2024.12.24 |
[자바] 자바 동작 방식과 구조 (0) | 2024.12.24 |