리터럴

류한선·2025년 6월 22일

실기연습-2

목록 보기
22/95

좋은 질문이에요! 🔍
“리터럴(literal)” 이란 프로그래밍에서 **“소스 코드 안에 직접 써 있는 고정된 값”**을 말해요.

쉽게 말하면,

  • 프로그램 안에서 우리가 코드에 직접 쓰는 값 자체리터럴(literal)이라고 부릅니다.

🎯 예시를 들어볼까요?

1️⃣ 정수 리터럴

int x = 10;

여기서 10이 바로 정수 리터럴이에요.
우리가 소스 코드에 숫자 10을 적었기 때문에 리터럴!

2️⃣ 문자열 리터럴

String str = "Hello";

여기서 "Hello"문자열 리터럴이에요.

3️⃣ 실수 리터럴

double pi = 3.14159;

여기서 3.14159실수 리터럴이에요.

4️⃣ 문자 리터럴

char ch = 'A';

여기서 'A'문자 리터럴이에요.


🎯 한마디로 정리

리터럴 = 코드 안에 "그대로 써 놓은 값"

반대 개념은 리터럴을 참조하는 변수나 **식(expression)**이에요.


🎯 그래서 “리터럴 풀(literal pool)”이란?

**문자열 리터럴 풀(String Literal Pool)**이라고 하면,

  • 자바가 프로그램을 실행할 때 "Hello", "World" 처럼 코드 안에 있는 **문자열 리터럴들을 한곳에 모아 캐시(Cache)**해 놓는 메모리 영역을 말해요.
  • 같은 리터럴을 여러 번 쓰면, 풀에서 같은 객체를 공유하기 때문에 메모리 낭비가 줄고 성능이 좋아집니다.

예를 들어,

String a = "Hello";
String b = "Hello";

여기서 "Hello" 두 번 썼지만,
리터럴 풀에서 하나의 "Hello" 객체를 공유하게 됩니다.


🎯 정리

리터럴(literal) → 소스코드 안에 직접 써 있는 값
리터럴 풀(literal pool) → 동일한 리터럴을 한 번만 메모리에 올리는 캐시 공간

0개의 댓글