
💻 Java 핵심 개념 예제: 상수, 리터럴, 형 변환
안녕하세요! 프로그래밍 학습에 중요한 **상수(Constant), 리터럴(Literal), 형 변환(Casting)**의 개념을 자바(Java) 예제 코드를 통해 쉽고 명확하게 정리했습니다. 이 내용을 티스토리에 바로 게시할 수 있도록 마크다운 형식으로 작성했습니다.
1. 상수(Constant)와 리터럴(Literal) 예제 ✨
💡 핵심 개념 정리
- 상수 (Constant): final 키워드를 사용하여 선언하며, 프로그램 실행 중에 값이 절대 변하지 않는 변수입니다. 보통 대문자로 작성합니다. (예: $\pi$ 값, 고정된 세율, 변하지 않는 가격 등)
- 리터럴 (Literal): 소스 코드에 직접 적은 값 자체를 의미합니다. 변수에 대입되는 숫자, 문자, 문자열 등이 모두 리터럴입니다. (예: 3.14, 10, 'A', "Hello" 등)
📌 예제 1: 원의 둘레 계산 (상수 사용)
원의 둘레를 계산하는 예제에서 $\pi$ 값을 상수로 선언합니다.
Java
public class CircleExample {
public static void main(String[] args) {
// [1] final double PI = 3.14; // 상수
final double PI = 3.14;
// [2] double radius = 5; // 반지름 (리터럴)
double radius = 5;
double result = 2 * PI * radius;
System.out.println("원의 둘레: " + result); // 출력: 원의 둘레: 31.4
}
}
- ✅ final double PI = 3.14; : PI는 상수입니다. final 키워드 덕분에 프로그램 어디에서도 이 값을 바꿀 수 없습니다.
- ✅ 3.14 와 5 : 코드에 직접 적은 값이므로 리터럴입니다.
📌 예제 2: 일일 지출 계산 (리터럴 예시)
변하지 않는 상품 가격을 상수로, 매일 달라지는 구매 수량은 리터럴로 활용하는 예제입니다.
Java
public class DailyCost {
public static void main(String[] args) {
// [1] final int COFFEE_PRICE = 2000; // 상수
final int COFFEE_PRICE = 2000;
// [2] int cups = 3; // 리터럴 (오늘의 구매 수량)
int cups = 3;
int total = COFFEE_PRICE * cups;
System.out.println("오늘 커피값 총합: " + total + "원"); // 출력: 오늘 커피값 총합: 6000원
}
}
- ✅ COFFEE_PRICE : 값이 바뀌면 안 되는 상수입니다.
- ✅ 2000 과 3 : 코드에 직접 적어 넣은 값인 리터럴입니다.
2. 형 변환(Casting) 예제 🔄
형 변환이란, 하나의 자료형을 다른 자료형으로 바꾸는 것을 의미합니다. 크게 **자동 형 변환(묵시적 형 변환)**과 **강제 형 변환(명시적 형 변환)**이 있습니다.
📌 예제 1: 정수 → 실수 변환 (자동 형 변환)
자동 형 변환은 작은 자료형에서 큰 자료형으로 변환할 때 데이터 손실이 없으므로 자바가 자동으로 처리해 줍니다.
Java
public class AutoCastingExample {
public static void main(String[] args) {
int num = 10; // 정수 (4-byte)
// int형 변수 num이 double형 result에 대입될 때 자동 형 변환 발생
double result = num; // 자동 형 변환 (int → double, 8-byte)
System.out.println("원래 값(int): " + num);
System.out.println("자동 형 변환 결과(double): " + result);
// 출력: 자동 형 변환 결과(double): 10.0
}
}
- ✅ int (4바이트) → double (8바이트) 변환: 크기가 더 큰 자료형으로 변환되므로, 데이터 손실 없이 자동으로 변환됩니다. 10이 10.0이 됩니다.
📌 예제 2: 실수 → 정수 변환 (강제 형 변환)
강제 형 변환은 큰 자료형에서 작은 자료형으로 변환할 때 데이터 손실이 발생할 수 있으므로, 개발자가 변환할 자료형을 (자료형) 형태로 명시해야 합니다.
Java
public class ForceCastingExample {
public static void main(String[] args) {
double score = 95.7; // 실수
// (int)를 붙여 강제로 int형으로 변환
int intScore = (int) score; // 강제 형 변환 (double → int)
System.out.println("원래 점수(double): " + score);
System.out.println("강제 형 변환 후(int): " + intScore);
// 출력: 강제 형 변환 후(int): 95
}
}
- ✅ (int) score: double을 강제로 int로 변환하라는 명령입니다. 이 과정에서 소수점 이하(.7) 부분이 버려져 데이터 손실이 발생합니다.
'Java_language' 카테고리의 다른 글
| 자바 연산자 (0) | 2025.11.17 |
|---|---|
| 연산자 & 조건문 (0) | 2025.11.17 |
| 자바(Java) 변수: 값을 담는 '상자'로 쉽게 이해하기! (0) | 2025.11.13 |
| Scanner 입력받기 (0) | 2025.11.12 |
| 간단한 사칙연산 계산기 (0) | 2025.11.12 |