1️⃣ double to int casting

		double a = 1.0;  //1.0
		//1은 정수지만 변수 b에 담길 때 변수가 double이므로 1이 실수형으로 coverting됐다.
		//이렇게 converting 되면 잃어버리는 값이 없다.
		double b = 1;    //1.0
		//4행은 6행에서 (double)을 생략한 것이다.
		double b = (double) 1;  //1.0
		
		int d = 1;  //1
		//1.1은 실수인데 1.1을 담으려는 e는 int형이기 때문에 error가 발생한다.
		//double형은 소수점 아래 값이 있고 int는 없기 때문에 자동으로 coverting하면 소수점 아래의 값 0.1을 잃어버린다.
		int e = 1.1;  //error
		//명시적으로 casting 한 것이다! 즉, 개발자가 명시적으로 손실을 감수하고 형변환 시킨 것이다.
		int f = (int) 1.1;  //1
		double g = 1.1;  //1.1
		
		//1.1 실수를 compile이 자동으로 1.0 정수로 바꾸게 되면 소수점 아래 값이 사라지기 때문에 손실이 잃어난다.
		//즉, comipler는 손실이 잃어나기 때문에 개발자가 명시적으로 입력하기 전까지 자동으로 compile 해주지 않는다!

<aside> 👉

</aside>

2️⃣ int to String casting

<aside> ☝ String strI = Integer.*toString*(i);

</aside>

//int 1 to String 1 casting
String strI = Integer.toStirng(1);
System.out.println(strI);  //1
//strI의 data type 확인
System.out.println(strI.getClass());  //class java.lang.Stirng

<aside> ✌️ int i = 1; String strI = String.valueOf(i);

</aside>

//
int i = 1;
Stirng strI = String.valueOf(i);
System.out.println(strI);  //1

참고자료

Screen Shot 2022-09-07 at 8.06.20 PM.png

<aside> 👉

정리!

</aside>