본문 바로가기
그 외 프로그래밍 언어/Java

자바, 데이터 타입 변환

by Dreaming Coder 2021. 11. 21. 16:31

 


 

코드를 짜다가 일시적으로 자료형(데이터 타입)을 변환해야 하는 경우도 있을 수 있습니다.

이번에는 그 방법에 대해서 알아보겠습니다.

 

 

 

지난 포스트

 

자바 이클립스, 주석 처리하는 법

코드를 짜다 보면 그 코드에 대한 설명을 글로 남겨두고 싶을 때가 있습니다. 하지만 코드 안에 그냥 글로 써두면 당연히 에러가 나겠죠. 그런 때 코드 안에 주석을 다는 법을 알아보겠습니다.

gogogameboy.tistory.com

 

 

 

자료형 변환, 자동형 변환과 강제형 변환

 

 

위의 소스 코드는 PC에서 드래그 후,
ctrl+x로 잘라내서 다른 곳으로 붙여넣기가 가능합니다.
ctrl+c(복사)는 불가능합니다.

 

 

 

위의 코드들은

public static void main(String[] args) { }

이 코드의 중괄호 사이에 넣어줘야 정상적으로 작동합니다.

 

일단 코드들을 하나하나 살펴봅시다.

 

 

 

int num1 = 15;

long num2 = num1;

 

4바이트인 int라는 데이터 타입으로 num1 이라는 이름의 변수를 만들고 그 안에 15라는 값을 넣었습니다.

그리고 8바이트인 long이라는 데이터 타입으로 num2 변수를 만들고, num1의 값을 num2 안에 넣었습니다.

이런 때에는 자동형 변환이 일어납니다.

4바이트인 int 안에 어떤 값이 들어있더라도, 더 큰 8바이트인 long은 받아들일 수 있죠.

 

이어서 아래의 코드도 살펴봅시다.

 

 

 

num2 = 30;

int num3 = (int)num2;

System.out.println(num3);

 

num2는 long이었습니다.

그런데 long 변수인 num2의 값을 int 변수인 num3에 넣으려고 합니다.

만약 int num3 = num2; 이렇게 해버린다면 오류가 납니다.

꼭 long 변수인 num2 앞에 (int)를 붙여줘야 합니다.

이렇게 하면 8바이트인 long의 값도 4바이트인 int 안에 넣을 수 있고, 이것을 강제형 변환이라고 합니다.

 

 

 

위의 코드들을 실행시키면 결과값은 아래와 같이 나옵니다.

15

30

15.0

24

22.0

22

 

 

 

 

 

 

다음 포스트

 

자바, 연산자란? (feat. 연산자의 종류)

이번에는 연산자란 무엇인지, 그리고 연산자의 종류에는 어떤 것들이 있는지 살펴보도록 하겠습니다. 지난 포스트 자바, 데이터 타입 변환 코드를 짜다가 일시적으로 자료형(데이터 타입)을 변

gogogameboy.tistory.com

 

 

 


이 글이 도움이 됐다면 하단의 공감 버튼을 꾹 눌러서
빨간 하트로 만들어주세요.
지인에게 보여주고 싶은 글이었다면
공감 버튼 옆을 클릭해서 SNS 공유해주세요.
댓글은 블로그 운영에 큰 힘이 됩니다.

 


 


댓글