๐ฏ ์์ดํ 60. ์ ํํ ๋ต์ด ํ์ํ๋ค๋ฉด float์ double์ ํผํ๋ผ.
float
์ double
ํ์
์ ๊ณผํ๊ณผ ๊ณตํ ๊ณ์ฐ์ฉ์ผ๋ก ์ค๊ณ๋์๋ค. ์ด์ง ๋ถ๋์์์ ์ฐ์ฐ์ ์ฐ์ด๋ฉฐ,๋์ ๋ฒ์์ ์๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ฐํ '๊ทผ์ฌ์น'๋ก ๊ณ์ฐํ๋๋ก ์ธ์ฌํ๊ฒ ์ค๊ณ๋์๋ค. ๋ฐ๋ผ์, ์ ํํ ๊ฒฐ๊ณผ๊ฐ ํ์ํ ๋๋ ์ฌ์ฉํ๋ฉด ์ ๋๋ค. float
์ double
ํ์
์ ํนํ ๊ธ์ต ๊ด๋ จ ๊ณ์ฐ๊ณผ๋ ๋ง์ง ์๋๋ค.
๋ฐ๋ผ์, ๊ธ์ต ๊ณ์ฐ์๋ BigDecimal
, int
ํน์ long
์ ์ฌ์ฉํด์ผ ํ๋ค.
๐ฏ ์์ดํ 61. ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์ ๋ณด๋ค๋ ๊ธฐ๋ณธ ํ์ ์ ์ฌ์ฉํ๋ผ.
๊ธฐ๋ณธ ํ์ vs ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์
1๏ธโฃ ๊ธฐ๋ณธ ํ์
์ ๊ฐ๋ง ๊ฐ์ง๊ณ ์์ผ๋, ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์
์ ๊ฐ์ ๋ํด ์๋ณ์ฑ์ด๋ ์์ฑ์ ๊ฐ๋๋ค.
public class Main {
public static void main(String[] args) {
int a = 1;
int b = 1;
System.out.println("(b == a) : " + (b == a)); // (b == a) : true
Integer boxedIntegerA = new Integer(1);
Integer boxedIntegerB = new Integer(1);
System.out.println("(boxedIntegerB == boxedIntegerA) : " + (boxedIntegerB == boxedIntegerA)); // (boxedIntegerB == boxedIntegerA) : false
System.out.println("boxedIntegerB.equals(boxedIntegerA) : " + boxedIntegerB.equals(boxedIntegerA)); // boxedIntegerB.equals(boxedIntegerA) : true
}
}
2๏ธโฃ ๊ธฐ๋ณธ ํ์
์ ๊ฐ์ ์ธ์ ๋ ์ ํจํ๋, ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์
์ ์ ํจํ์ง ์์ ๊ฐ, ์ฆ null์ ๊ฐ์ง ์ ์๋ค.
public class Main {
static int a;
static Integer i;
public static void main(String[] args) {
if (a < 1) System.out.println(a);
if (i < 1) System.out.println(i);
}
}
3๏ธโฃ ๊ธฐ๋ณธ ํ์
์ด ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์
๋ณด๋ค ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฉด์์ ๋ ํจ์จ์ ์ด๋ค.
์ฐธ๊ณ ์๋ฃ
Joshua Bloch, ใEffective Java 3/Eใ, ๊ฐ์๋งต์ ์ฎ๊น, ํ๋ก๊ทธ๋๋ฐ์ธ์ฌ์ดํธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=