Skip to content

Latest commit

ย 

History

History
98 lines (66 loc) ยท 2.15 KB

[Java] Auto Boxing & Unboxing.md

File metadata and controls

98 lines (66 loc) ยท 2.15 KB

[Java] ์˜คํ†  ๋ฐ•์‹ฑ & ์˜คํ†  ์–ธ๋ฐ•์‹ฑ


์ž๋ฐ”์—๋Š” ๊ธฐ๋ณธ ํƒ€์ž…๊ณผ Wrapper ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค.

  • ๊ธฐ๋ณธ ํƒ€์ž… : int, long, float, double, boolean ๋“ฑ
  • Wrapper ํด๋ž˜์Šค : Integer, Long, Float, Double, Boolean ๋“ฑ

๋ฐ•์‹ฑ๊ณผ ์–ธ๋ฐ•์‹ฑ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋จผ์ € ์‚ดํŽด๋ณด์ž

๋ฐ•์‹ฑ : ๊ธฐ๋ณธ ํƒ€์ž… ๋ฐ์ดํ„ฐ์— ๋Œ€์‘ํ•˜๋Š” Wrapper ํด๋ž˜์Šค๋กœ ๋งŒ๋“œ๋Š” ๋™์ž‘

์–ธ๋ฐ•์‹ฑ : Wrapper ํด๋ž˜์Šค์—์„œ ๊ธฐ๋ณธ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜

// ๋ฐ•์‹ฑ
int i = 10;
Integer num = new Integer(i);

// ์–ธ๋ฐ•์‹ฑ
Integer num = new Integer(10);
int i = num.intValue();


์˜คํ†  ๋ฐ•์‹ฑ & ์˜คํ†  ์–ธ๋ฐ•์‹ฑ

JDK 1.5๋ถ€ํ„ฐ๋Š” ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฐ•์‹ฑ๊ณผ ์–ธ๋ฐ•์‹ฑ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์— ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค€๋‹ค.

// ์˜คํ†  ๋ฐ•์‹ฑ
int i = 10;
Integer num = i;

// ์˜คํ†  ์–ธ๋ฐ•์‹ฑ
Integer num = new Integer(10);
int i = num;

์„ฑ๋Šฅ

ํŽธ์˜์„ฑ์„ ์œ„ํ•ด ์˜คํ†  ๋ฐ•์‹ฑ๊ณผ ์–ธ๋ฐ•์‹ฑ์ด ์ œ๊ณต๋˜๊ณ  ์žˆ์ง€๋งŒ, ๋‚ด๋ถ€์ ์œผ๋กœ ์ถ”๊ฐ€ ์—ฐ์‚ฐ ์ž‘์—…์ด ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ, ์˜คํ†  ๋ฐ•์‹ฑ&์–ธ๋ฐ•์‹ฑ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋„๋ก ๋™์ผํ•œ ํƒ€์ž… ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ๊ตฌํ˜„ํ•˜์ž.

์˜คํ†  ๋ฐ•์‹ฑ ์—ฐ์‚ฐ

public static void main(String[] args) {
    long t = System.currentTimeMillis();
    Long sum = 0L;
    for (long i = 0; i < 1000000; i++) {
        sum += i;
    }
    System.out.println("์‹คํ–‰ ์‹œ๊ฐ„: " + (System.currentTimeMillis() - t) + " ms");
}

// ์‹คํ–‰ ์‹œ๊ฐ„ : 19 ms

๋™์ผ ํƒ€์ž… ์—ฐ์‚ฐ

public static void main(String[] args) {
    long t = System.currentTimeMillis();
    long sum = 0L;
    for (long i = 0; i < 1000000; i++) {
        sum += i;
    }
    System.out.println("์‹คํ–‰ ์‹œ๊ฐ„: " + (System.currentTimeMillis() - t) + " ms") ;
}

// ์‹คํ–‰ ์‹œ๊ฐ„ : 4 ms

100๋งŒ๊ฑด ๊ธฐ์ค€์œผ๋กœ ์•ฝ 5๋ฐฐ์˜ ์„ฑ๋Šฅ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค. ๋”ฐ๋ผ์„œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ถˆํ•„์š”ํ•œ ์˜คํ†  ์บ์ŠคํŒ…์ด ์ผ์–ด๋‚˜๋Š” ์ง€ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๊ฐ€์ง€์ž.



[์ฐธ๊ณ  ์‚ฌํ•ญ]