๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/Java

[Java] ๋ถˆ๋ณ€ ๊ฐ์ฒด์™€ Wrapper Class

by HanaV 2023. 3. 22.
728x90

Java์—๋Š” ๋ถˆ๋ณ€(immutable) ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค. ๋ถˆ๋ณ€ ๊ฐ์ฒด๋Š” ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ๋‚ด๋ถ€ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” String์ด ์žˆ๋Š”๋ฐ, ๋ฌธ์ž์—ด์„ ์ˆ˜์ •ํ•˜๋ฉด ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์ด์ „ ๋ฌธ์ž์—ด์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค. 
๊ทธ ์™ธ์—๋„ Wrapper ํด๋ž˜์Šค, java.time ํŒจํ‚ค์ง€์˜ LocalDate, LocalDateTime ๋“ฑ๊ณผ java.math ํŒจํ‚ค์ง€์—์„œ BigInteger๊ณผ BigDecimal๋„ ๋ถˆ๋ณ€ ๊ฐ์ฒด์ด๋‹ค.

 

 

Wrapper Class๋Š” ์ž๋ฐ” ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ์—ญํ• ์„ ํ•˜๋Š” ํด๋ž˜์Šค์ด๋‹ค.

int, short, long, float, double ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด Integer, Short, Long, Float, Double, Arrays ๋“ฑ ํด๋ž˜์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

int a์™€ Integer a๋Š” ๋‘˜ ๋‹ค ๊ฒฐ๊ณผ๋Š” ๊ฐ™์ง€๋งŒ, ์ „์ž๋Š” ๊ทธ๋ƒฅ ๋ณ€์ˆ˜์ด๊ณ  ํ›„์ž๋Š” ํด๋ž˜์Šค ๋ณ€์ˆ˜๊ฐ€ ๋œ๋‹ค.

๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์กด์žฌํ•˜๋Š”๋ฐ๋„ Wrapper Class๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ํด๋ž˜์Šค ๋ณ€์ˆ˜๋Š” ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๋‹ฌ๋ฆฌ, ํด๋ž˜์Šค์—์„œ ์ง€์›ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์†Œ๋“œ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํด๋ž˜์Šค ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๊ณ  .์„ ์ฐ์œผ๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”์†Œ๋“œ๋“ค์ด ๋œฌ๋‹ค.

        int a = 4; 
        String aa = Integer.toString(a);

        String b = "5";
        int bb = Integer.parseInt(b);

 

Auotoboxing๊ณผ Unboxing

int a = 3;
Integer.toString(a);

์œ„ ์ฝ”๋“œ์—์„œ a๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ธ int๋กœ ์„ ์–ธ๋˜์—ˆ์ง€๋งŒ, ํด๋ž˜์Šค ๋ณ€์ˆ˜์ธ Integer๋กœ ๋ณ€ํ™˜๋˜์–ด Integer.toString() ๋ฉ”์†Œ๋“œ์— ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. 

์ด๋ ‡๋“ฏ ์ผ๋ฐ˜ํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์•Œ์•„์„œ Wrapper ํด๋ž˜์Šค๋กœ ์ž๋™ ๋ณ€ํ™˜ ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์„ Autoboxing์ด๋ผ๊ณ  ํ•œ๋‹ค.
๋ฐ˜๋Œ€๋กœ Unboxing์€ Wrapper ํด๋ž˜์Šค๋ฅผ ์ผ๋ฐ˜ํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

728x90

"); wcs_do();