DEVLOG

[Java] 형변환 본문

Java

[Java] 형변환

BINTHEWORLD 2022. 8. 4. 17:03

형변환

캐스팅(casting) 이라고도 불리며, 변수 또는 상수 타입을 다른 타입으로 변환하는 것을 의미한다. 

형변환 방법은 변수 또는 상수 앞에 변환할 타입을 적은 괄호를 붙여주면 된다.

package ch02;

public class Casting {
	public static void main(String[] args) {
		double fltNum = 1.32;
		int one = (int)fltNum;
		System.out.println(one); // 1
	}
}

주의할 점은 아래 예제와 같이 기본형과 참조형간의 형변환은 불가능하다는 점이다.

package ch02;

public class Casting {
	public static void main(String[] args) {
		String strOne = "1"; // 참조형
		int one = (int)strOne; // [에러] 참조형 -> 기본형
	}
}

값손실

정수형간의 형변환에서 값손실이 발생할 수 있다.

가령 정수형의 int타입(4 byte)에서 byte타입(1 byte)로 변환하는 경우, 크기의 차이만큼 잘려나가 값손실이 발생할 수 있다.

자동 형변환

편의상 형변환을 생략할 수도 있는데, 이 때 형변환을 하지 않는 것은 아니고 컴파일러가 생략된 형변환을 자동적으로 추가한다.

또한 서로 다른 두 타입간의 연산 시, 값손실 위험을 줄이기 위해 두 타입 중 표현 범위가 더 넓은 타입으로 일치시킨 후 연산을 수행한다.  

'Java' 카테고리의 다른 글

[Java] JRE와 JDK  (0) 2022.08.10
[Java] Compiler vs Interpreter  (0) 2022.08.10
[Java] 유니코드 인코딩  (0) 2022.08.04
[Java] Java SE 와 Java EE 차이점  (0) 2022.08.04
[Java] JVM, 자바의 동작원리  (0) 2022.08.04
Comments