무지개 곰
무지개곰의 성장이야기
무지개 곰
250x250
  • 분류 전체보기
    • 블록체인 공부
      • BlockChain
      • Ethereum
    • IT공부
      • Java
      • JavaScript
      • HTML + CSS
      • React
      • 프로그래머스 (TypeScript)
    • 독서
    • 영어 공부
      • 1일 1 작문
      • 영어 짧은 글
    • 홍보
hELLO · Designed By 정상우.
무지개 곰

무지개곰의 성장이야기

[Java] Java의 형 변환 알아보기
IT공부/Java

[Java] Java의 형 변환 알아보기

2022. 6. 20. 12:00
728x90

형 변환

  • 형 변환이란?
  • 암묵적 형 변환
  • 명시적 형 변환

형 변환이란?

코드를 작성할 때 자료형이 각각 다릅니다. int 형을 받았지만 double형으로 표현을 해야 하는 경우도 있을 수 있고 문자를 받고 그것을 유니코드의 숫자로 화면에 띄우는 경우도 있을 것입니다. 이러한 경우 자료형이 다르기 때문에 자료형을 바꾸어주어야 합니다. 그러한 경우에 형 변환을 이용합니다.


암묵적 형 변환

암묵적 형 변환은 더 작은 메모리를 가진 자료형에서 더 큰 메모리로 변환을 하는 경우 일어나는 형 변환으로 특별하게 코드를 작성하지 않고 일어나는 형 변환을 의미합니다.

byte a=5;
short b=a;
int c=b;
long d=c;

위의 예시와 같이 byte자료형이 가장 작기 때문에 메모리가 더 큰 자료형에 사용을 할 때 따로 코드를 작성하지 않더라도 컴파일할 때 자동으로 형 변환이 일어납니다.


명시적 형 변환

메모리가 큰 자료형에서 메모리가 작은 자료형으로 변환을 할 때 코드를 작성하여 변환을 하는 형 변환 혹은 데이터 손실을 감수하더라도 자료형을 바꾸어야 할 때 사용하는 변환을 의미합니다. 

double a=3.7;
int b=(int)a; //정수형 b에 저장되는 값은 소수점을 제외한 3이 저장됩니다.

위의 예시는 데이터 손실을 감수하더라도 변환을 하기 위하여 명시적 형 변환을 한 경우입니다. 이때 b에 저장되는 값만 형을 변환한 것이고 a의 값은 그대로 유지되고 있습니다.

int a=200;
byte b=(byte)a; //byte 자료형의 정수 표현 가능 범위는 -128~127이므로 b에 -73이 저장

위의 예시는 메모리가 더 작은 자료형으로 변환을 하는 경우입니다. a의 값이 byte자료형의 범위를 넘어가게 되어 오버플로우가 발생하여 원래 값이 아닌 -73의 값이 저장되었습니다.

728x90
저작자표시 비영리 변경금지 (새창열림)
    'IT공부/Java' 카테고리의 다른 글
    • [Java] Java의 조건문 중 if문 알아보기
    • [Java] Java의 상수와 리터럴
    • [Java] Java의 여러가지 연산자 알아보기
    • [Java] 지역 변수와 전역 변수 알아보기
    무지개 곰
    무지개 곰
    java solidity react javascript등 프로그래밍 공부 기록

    티스토리툴바