float와 double 타입은 특히 금융 관련 계산과는 맞지 않는다.
- 0.1 혹은 10의 음의 거듭 제곱 수(10^-1, 10^-2 등)를 표현할 수 없기 때문이다.
- BigDecimal이 제공하는 여덟가지 반올림 모드를 이용하여 반올림을 완벽히 제어할 수 있다.
- 소수점 추적은 시스템에 맞긴다.
- 코딩 시에 불편함하다.
- 기본 타입보다 훨씬 느리다.
성능이 중요하고 소수점을 직접 추적할 수 있고 숫자가 너무 크지 않다면 int나 double을 사용하라.
다룰 수 있는 값의 크기가 제한되고, 소수점을 직접 관리해야 함
- 숫자를 아홉 자리 십진수로 표현할 수 있다면 int를 사용
- 열여덟 자리 십진수로 표현할 수 있다면 long을 사용
- 이를 넘어가면 BigDecimal을 사용