본문 바로가기
Java

Type casting(형 변환)

by 개발자공부 2024. 4. 10.

목차

0. 형 변환 개념

1. 자동 형 변환 활용

2. 강제 형 변환 활용

3. 연습문제


0. 형 변환 개념

형 변환 : 프로그래밍에서 데이터 타입 하나를 다른 데이터 타입으로 변환하는 과정을 말한다.

형 변환에는 두 가지 종류가 있다. 하나는 자동 형 변환이고, 다른 하나는 강제 형 변환이다.

 

자동 형 변환 : 쉽게 말해서 작은 상자에서 큰 상자로.

강제 형 변환 : 큰 상자에서 작은 상자로.


1. 자동 형 변환 활용

int intDataBox = 100;
double doubleDataBox;
doubleDataBox = intDataBox;

System.out.println(doubleDataBox);

int는 4바이트, double는 8바이트이다. int < double.

오른쪽 항에서 왼쪽 항 순으로 계산이 되니, 작은 상자 int 가 큰 상자 double로 들어간 것이다.


2. 강제 형 변환 활용

final double PI = 3.14159253;
int intBox = (int)PI;

System.out.println(intBox);

위와 반대로 int보다 큰 상자인 double가 작은 상자 int에 들어가려는 상황이다. 원래는 넣을 수 없는 것이 맞으나

앞에 강제로 변환할 형을 괄호 안에 기입해주면 컴파일러가 명령을 수행한다. 대신 int 상자는 double가 지닌 소수점을 넣을 수 없으니 자르고 출력해준다.


3. 연습문제

 3-1. 변수 int discount 와 double interestRate 가 있다. interestRate 값은 15.5이다. 이 값을 강제 형 변환하여 discount에 넣어보기.

더보기
int discount;
double interestRate = 15.5;
discount = (int)interestRate;

System.out.println(discount);

 3-2. 위 강제 형 변환을 오직 System.out.println(); 만으로 출력해보기.

더보기
System.out.println( (int) 15.5 );

3-3. 당신은 전자 상거래 웹사이트를 운영하고 있으며, 특정 제품에 대해 할인 행사를 진행하려고 합니다. 제품의 원래 가격은 59.99달러이고, 30% 할인을 적용하려고 합니다. 최종 가격을 계산한 후, 소수점 이하를 버리고 정수 부분만을 가격으로 표시하려고 합니다.

  1. 제품의 원래 가격과 할인율을 상수로 선언하십시오.
  2. 할인된 가격을 계산하고, 그 결과를 정수로 형 변환하여 최종 가격을 구하십시오.
  3. 최종 가격을 출력하십시오.

할인율 공식 선정하기 (인터넷 검색)

1. 할인된 가격 = 원가 − (원가 × 할인율)

2. 할인된 가격 = 원가 × (1 − 할인율)

 

할인율을 계산하는 공식을 선택하고 코드로 표현해 보자. = 비즈니스 로직

더보기
final double ORIGINAL_PRICE = 59.99;
final double DISCOUNT_RATE = 0.3;

double discount_price;
discountedPrice = ORIGINAL_PRICE * (1-DISCOUNT_RATE);

int finalPrice = (int)discountedPrice;

System.out.println("최종 가격 : " + finalPrice);
System.out.println("최종 가격(소수점) : " + discountedPrice);

 

'Java' 카테고리의 다른 글

Operators(연산자)  (0) 2024.04.10
명령어로 컴파일, 실행  (0) 2024.04.10
Constant(상수)와 Literal(리터럴)  (0) 2024.04.10
Data Type(자료형)와 primitive data type(기본 자료형)  (0) 2024.04.10
Variable (변수)  (0) 2024.04.08