# 잘못된 파라미터
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);
}
```
값이 있는 위치에서 캐스팅을 하면 값이 변수타입에 맞게 변하고 변수 앞에다가 캐스팅하면 변수타입이 바뀌는건가요?
이게 헷갈립니다.
sehongpark님의 답변
cube(2)의 반환값은 8.0입니다.
이를 int 타입 변수에 대입할 수 없습니다.
```
int b = cube((int)2);
// int b = cube(2);
// int b = 8.0;
// 타입 불일치!
```