# 잘못된 파라미터 int b에 캐스팅 위치가 첫번째로 하면 통과가 되는데 ``` public class WhatIsWrong { public static void main(String[] args) { int a = square((int)3.0); int b = (int)cube(2); System.out.printf("a = %d, b = %d\n", a, b); } ``` 왜 두번째 방법으로 하면 통과가 안돼는지 궁금합니다 ``` public class WhatIsWrong { public static void main(String[] args) { int a = square((int)3.0); int b = cube((int)2); System.out.printf("a = %d, b = %d\n", a, b); } ``` 값이 있는 위치에서 캐스팅을 하면 값이 변수타입에 맞게 변하고 변수 앞에다가 캐스팅하면 변수타입이 바뀌는건가요? 이게 헷갈립니다.
cube(2)의 반환값은 8.0입니다. 이를 int 타입 변수에 대입할 수 없습니다. ``` int b = cube((int)2); // int b = cube(2); // int b = 8.0; // 타입 불일치! ```