좋은 질문이에요! 🔍
“리터럴(literal)” 이란 프로그래밍에서 **“소스 코드 안에 직접 써 있는 고정된 값”**을 말해요.
쉽게 말하면,
리터럴(literal)이라고 부릅니다.int x = 10;
여기서 10이 바로 정수 리터럴이에요.
우리가 소스 코드에 숫자 10을 적었기 때문에 리터럴!
String str = "Hello";
여기서 "Hello"가 문자열 리터럴이에요.
double pi = 3.14159;
여기서 3.14159가 실수 리터럴이에요.
char ch = 'A';
여기서 'A'가 문자 리터럴이에요.
리터럴 = 코드 안에 "그대로 써 놓은 값"
반대 개념은 리터럴을 참조하는 변수나 **식(expression)**이에요.
**문자열 리터럴 풀(String Literal Pool)**이라고 하면,
"Hello", "World" 처럼 코드 안에 있는 **문자열 리터럴들을 한곳에 모아 캐시(Cache)**해 놓는 메모리 영역을 말해요.예를 들어,
String a = "Hello";
String b = "Hello";
여기서 "Hello" 두 번 썼지만,
리터럴 풀에서 하나의 "Hello" 객체를 공유하게 됩니다.
✅ 리터럴(literal) → 소스코드 안에 직접 써 있는 값
✅ 리터럴 풀(literal pool) → 동일한 리터럴을 한 번만 메모리에 올리는 캐시 공간