본문 바로가기

IT/Java

[Java/자바] 2. 자바의 자료형 변환 (Type Conversion)

1. 자동적(묵시적) 형 변환

: 작은 공간의 메모리에서 큰 공간의 메모리로 변환이 필요한 경우, 개발자가 따로 형변환을 하지 않아도 컴파일러가 자동으로 형변환을 해준다.

int a = 3;
double b = a; // 자동으로 5.0 으로 변환되어 저장

 

2. 명시적 형 변환

: 큰 공간의 메모리에서 작은 공간의 메모리로 변환이 필요한 경우엔 컴파일러가 자동으로 형변환을 해주지 않아 오류가 발생한다. 이때, 형변환 연산자를 이용하여 형 변환을 할 수 있다.

 

형식은 (자료형) 피연산자 의 형태로 작성한다.

 

int a;
double b = 3.0;
a = (int)b; // 3.0 -> 3 으로 변환되어 저장

 

다만 명시적 형 변환의 경우에는 데이터 손실이 일어날 수 있으므로 주의해야한다.

 

그렇다면, 문자열을 숫자로 변환하는 것도 가능할까?

 

당연히 가능하다.

 

하지만 이때는 형변환 연산자가 아닌 특정 메소드를 이용해야 한다.

 

3. 문자열 -> 숫자 변환

문자열을 숫자형 자료형으로 변경할 때는 Integer.parseInt() 메서드와 Double.parsedouble() 메서드를 이용한다.

 

int a = 5;
System.out.println(Integer.parseInt("5")+a); // 결과: 10

String b = "0.5";
double c;

c = b; // 오류
c = Double.parseDouble(b); 

System.out.println(c); // 결과: 0.5

 

 

 

 

 

 

 

 

*해당 게시글은 개인 공부 목적으로 작성되었음을 알립니다