Java Puzzlers - Scraping the Bottom of the Barrel (Google I/O 2011)

ํฌํ„ธ์„ ๋Œ์•„๋‹ค๋‹ˆ๋˜ ์ค‘์— ์žฌ๋ฐŒ๋Š” Java ์š”์†Œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ Google I/O 2011์— ์žˆ์—ˆ๋˜ Java Puzzler๋ผ๋Š” ๊ฒƒ์ธ๋ฐ์š”. ์ด ์˜์ƒ์—์„œ๋Š” ๋ฐœํ‘œ์ž JOSH BLOCH, JEREMY MANSON ๋‘ ์‚ฌ๋žŒ์ด 6๊ฐ€์ง€์˜ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํผ์ฆ์„ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๊ทธ ์ฒซ ๋ฒˆ์งธ, Time for a Change, ์˜์ƒ์— ๋‚˜์˜จ ์†Œ์Šค๋Œ€๋กœ ์ž…๋ ฅํ–ˆ์„ ๋•Œ, ๊ฑฐ์Šค๋ฆ„ ๋ˆ์€ ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ? ๋ผ๋Š” ๋ฌธ์ œ์ง€์š”. ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€, ์ž๋ฃŒํ˜•์ด double์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฑฐ์Šค๋ฆ„๋ˆ์€ 0.8999999999999999๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ์š”?Java์—์„œ double ์—ฐ์‚ฐ์€ ์ •ํ™•ํ•œ ๊ฐ’์„ ์ œ๊ณตํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉฐ, big decimal์„ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Big Decimal์„ ์‚ฌ์šฉํ•ด ๋‹ค์‹œ ํ•œ ๋ฒˆ ์—ฐ์‚ฐ์„ ํ•ด..