Java

상수와 리터럴

1space 2025. 6. 17. 00:24

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다.

 

변수란?

변수는 프로그램에서 값을 저장해두는 공간입니다.
쉽게 말하면, 값을 담을 수 있는 상자입니다.

int year = 2014;
  • 여기서 year가 변수입니다.
  • 2014는 그 안에 들어간 입니다.

즉, 변수는 이름을 가진 공간이고, 그 안에는 값을 바꿔가며 넣을 수 있습니다.

변수는 “변할 수 있는 값을 담는 상자”입니다.

 

 

상수란?

상수는 변수처럼 값을 저장하지만, 한 번만 저장할 수 있는 공간입니다.
값을 한 번 저장하면 절대 바꿀 수 없습니다.

선언 방법

final int MAX_VALUE = 100;
  • final이 붙었기 때문에, 이건 상수입니다.
  • MAX_VALUE는 상수 이름
  • 100은 저장된 값

만약 아래와 같이 바꾸려고 하면?

MAX_VALUE = 200; // ❌ 오류 발생

→ 컴파일 에러가 납니다. 상수는 절대 바꿀 수 없습니다!

상수 이름 규칙

  • 모두 대문자로 쓰는 것이 관례
  • 여러 단어는 밑줄 _로 연결

예시:
PI, MAX_HEIGHT, USER_NAME

 

리터럴(literal)이란?

리터럴은 그 자체로 값을 의미하는 것입니다.

예를 들어:

int x = 10;
  • x는 변수
  • 10은 리터럴 (값 그 자체)
 
final int MAX = 100;
  • MAX는 상수
  • 100은 리터럴 (변하지 않는 값 자체)

정리

변수 값을 저장하는 공간, 나중에 변경 가능
상수 값을 한 번만 저장 가능한 공간 (final 사용)
리터럴 코드 안에 적힌 고정된 값 자체 (예: 10, 3.14, 'A')
 

문자 리터럴 vs 문자열 리터럴

문자 리터럴

  • 작은 따옴표 ' ' 안에 문자 하나만
  • 예: 'A', '1', '가'
 
char ch = 'A'; // 문자 하나 저장

char는 문자 하나만 저장 가능!

 

문자열 리터럴

  • 큰 따옴표 " 안에 문자 여러 개
  • 예: "Hello", "123", "가나다"
 
String msg = "Hello"; // 문자열 저장

String은 문자열, 즉 문자 여러 개를 저장하는 자료형입니다.

빈 문자열과 문자의 차이

"" 빈 문자열 (문자열인데 아무 글자 없음) → 허용됨
'' ❌ 오류! → 반드시 한 글자 있어야 함 (예: 'A')
 

 

String은 클래스지만 특별 대우 받는다

String은 사실 클래스이기 때문에 객체 생성 문법을 쓰는 게 원칙입니다.

String name = new String("Java"); // 원래 이렇게 써야 맞음

하지만 자바는 특별히 String에 대해서는 아래처럼 간단히 쓸 수 있게 허용합니다:

String name = "Java"; // 간편한 축약 문법

그래서 대부분은 이렇게 간단히 씁니다.

'Java' 카테고리의 다른 글

임의의 정수 만들기  (0) 2025.06.17
문자열의 비교  (0) 2025.06.17
타입 간의 변환방법  (0) 2025.06.17
화면으로부터 입력받기  (0) 2025.06.17
기본형과 참조형  (0) 2025.06.17