Item 64. Interface Reference

๊ฐ์ฒด๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์ฐธ์กฐํ•˜๋ผ

ํƒ€์ž…์œผ๋กœ๋Š” ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋” ๋‚ซ๊ธฐ ๋•Œ๋ฌธ์—, ์ ํ•ฉํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฐ˜ํ™˜๊ฐ’, ๋ณ€์ˆ˜, ํ•„๋“œ๋ฅผ ๋ชจ๋‘ ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์‹ค์ œ ํด๋ž˜์Šค๋Š” ์ƒ์„ฑํ•  ๋•Œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ ์™ธ์—๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๊ตฌํ˜„์ฒด ๋ณ€๊ฒฝ ์‹œ ์ฃผ์˜์ 

์ธํ„ฐํŽ˜์ด์Šค๋กœ ์„ ์–ธํ•˜๋ฉด ๊ตฌํ˜„ ํด๋ž˜์Šค ์ƒ์„ฑ์ž๋งŒ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋„ ๋‹ค๋ฅธ ๊ตฌํ˜„์ฒด๋กœ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์–ด ํ›จ์”ฌ ๋” ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ต์ฒดํ•˜๋ ค๋Š” ํด๋ž˜์Šค ์—ญ์‹œ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.

  • LinkedHashSet -> HashSet ๊ต์ฒด: ๋ฐ”๊พธ๋ฉด์„œ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.

  • HashMap -> LinkedHashMap ๊ต์ฒด: ์„ฑ๋Šฅ์€ ๋น„์Šทํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜๋Š” ํด๋ž˜์Šค๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค.

ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ

  • ์ ํ•ฉํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ

    • ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์€ ํด๋ž˜์Šค๋“ค๋กœ, ์ด ๊ฒฝ์šฐ์—” ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

    • String, BigInteger, BigDecimal ๋“ฑ ์กด์žฌ

  • ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด๋“ค

    • ์ด ๊ฒฝ์šฐ์—๋„ ํŠน์ • ๊ตฌํ˜„ ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

    • InputStream, OutputStream, ExecutorService ๋“ฑ ์กด์žฌ

  • ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ์—†๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค

    • PriorityQueue ํด๋ž˜์Šค๋Š” Queue ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ์—†๋Š” comparator ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

    • ์ด ๊ฒฝ์šฐ์—๋„ ํŠน๋ณ„ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

    • ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ , ๊ฐ€๋Šฅํ•˜๋ฉด ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

Last updated

Was this helpful?