Wrapper ν΄λμ€λ?
Table of contents
μλ°μλ Primitive type(μμ νμ ) μλ£νμ 8κ°κ° μλ€.
byte, short, int, long, float, double, char, boolean
Primitive type(μμ νμ ) μλ£νμ κ° μ€λ λμ stack λ©λͺ¨λ¦¬ μμμ μ μ₯λμ΄ κ΄λ¦¬λλ€.
λ°λ©΄μ κ°μ²΄μ κ°μ΄ μ°Έμ‘° νμ λ°μ΄ν°λ Heap μμμ μμ±λκ³ , stackμλ Heapμμμ μ£Όμκ°μ ν΅ν΄ μ°Έμ‘°νλ λ°©μμΌλ‘ μ¬μ©νλ€.
μμ νμ μ κ°κ° Wrapper Class(λ©νΌ ν΄λμ€) λ₯Ό κ°κ³ μλλ°,
μμλ‘, intμ κ²½μ° Integerκ° μκ³ longμ κ²½μ° Longμ΄ μλ€.
int num = 1;
Integer boxed = new Integer(num);
int unBoxed = boxed.intValue();
μμ κ°μ΄ μμ νμ intμΈ numμ λ©νΌ ν΄λμ€λ‘ λ³νν μ μλ€.
μμνμ μμ λ©νΌν΄λμ€λ‘ λ³ννλ κ³Όμ μ Boxing(λ°μ±), λ©νΌ ν΄λμ€μμ μμ νμ μΌλ‘ λ³ννλ κ³Όμ μ UnBoxing(μΈλ°μ±) μ΄λΌκ³ νλ€.
Integer autoBoxed = 10;
int autoUnBoxed = autoBoxed;
μμ κ°μ΄ μμ νμ μ λ©νΌ ν΄λμ€λ₯Ό λμ νκ±°λ κ·Έ λ°λ μν©μΌ λ, ν λ³νμ΄ μλμΌλ‘ μ΄λ£¨μ΄μ§λλ° μ΄λ₯Ό μ€ν λ°μ± Β· μ€ν μΈλ°μ±μ΄λΌκ³ νλ€.
β οΈ μ£Όμμ !
public static void main(String[] args) {
Long sum = 0L;
for (long i = 0; i < 1000000; i++) {
sum += i;
}
}
μμ κ°μ μ½λλ sumμ΄ λ©νΌ νμ μ΄κ³ λ°λ³΅λ¬Έμ μννλ©΄μ Long κ°μ²΄κ° 100λ§κ° μμ±λκ² λλ€.
λ°λΌμ, κΌ νμν μν©μΈμ§ νΉμ μ±λ₯μ λ¬Έμ κ° λ°μνμ§ μλμ§ νμΈνκ³ λ©νΌ ν΄λμ€λ₯Ό μ¬μ©ν΄μΌνλ€.
μ°Έκ³ ν λΈλ‘κ·Έ