๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ63

[ch.13] ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ ํ”„๋กœ์„ธ์Šค: ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋ ˜, OS๋กœ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์Œ. ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ผํ•˜๋Š” ์ž‘์—…ํ™˜๊ฒฝ ์“ฐ๋ ˆ๋“œ: ํ”„๋กœ์„ธ์Šค ์ž์›์„ ์ด์šฉํ•ด์„œ ์‹ค์ œ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ. ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ: ๋‘˜ ์ด์ƒ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋”ฉ ์žฅ์  โ‘  CPU ์‚ฌ์šฉ๋ฅ  ํ–ฅ์ƒ โ‘ก ์ž์› ํšจ์œจ์  ์‚ฌ์šฉ โ‘ข ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์‘๋‹ต์„ฑ ํ–ฅ์ƒ โ‘ฃ ์ง์ ‘๋ถ„๋ฆฌ = ์ฝ”๋“œ ๊ฐ„๊ฒฐ *๊ณ ๋ ค์‚ฌํ•ญ: ์ž์›์„ ๊ณต์œ ํ•˜์—ฌ ์ž‘์—…ํ•˜๋ฉฐ ์ƒ๊ธฐ๋Š” ๋™๊ธฐํ™”, ๊ต์ฐฉ์ƒํƒœ ๋“ฑ์„ ๊ณ ๋ คํ•  ๊ฒƒ ์“ฐ๋ ˆ๋“œ์˜ ๊ตฌํ˜„ Thread ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜, Runnable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์„œ run( )๋ฉ”์„œ๋“œ์˜ ๋ชธํ†ต{ }์„ ์ฑ„์šฐ๋Š” ๊ฒƒ. ์ง€๊ธˆ๊นŒ์ง€ ํ•œ ํด๋ž˜์Šค์˜ main๋ฉ”์„œ๋“œ์— ์“ฐ๋˜ ๋‚ด์šฉ์„ run( )๋ฉ”์„œ๋“œ์˜ ๊ตฌํ˜„๋ถ€์—์ž‘์„ฑํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ์ž„. Runnable ์ธํ„ฐํŽ˜์ด์Šค: ์˜ค์ง run()๋งŒ ์ •์˜๋˜์–ด์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด.. 2023. 11. 15.
[ch.12] ์—ด๊ฑฐํ˜•, ์• ๋„ˆํ…Œ์ด์…˜ 2023. 11. 14.
[ch.11] ์ง€๋„ค๋ฆญ์Šค ํ‘œ๋ฅผ ์˜ฎ๊ธฐ๊ธฐ ํž˜๋“ค์–ด์„œ ๋งŒ๋“ค์–ด๋‘์—ˆ๋˜ ํŒŒ์ผ ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค ใ…Žใ…Ž 2023. 11. 14.
[ch.11] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ Properties ํด๋ž˜์Šค HashTable์„ ์ƒ์†๋ฐ›์•„ ๊ตฌํ˜„ํ•จ. (String, String)์˜ ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ๋‹จ์ˆœํ™”ํ•œ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค. ์ฃผ๋กœ Appํ™˜๊ฒฝ์„ค์ •๊ณผ ๊ด€๋ จ๋œ ์†์„ฑ์ €์žฅ์— ์‚ฌ์šฉํ•จ. Collections ํด๋ž˜์Šค ์ปฌ๋ ‰์…˜์˜ ๋™๊ธฐํ™”: ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋™๊ธฐํ™” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋จ: synchronized ์–ด์ฉŒ๊ตฌ ( ) ์ฝ๊ธฐ ์ „์šฉ ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“ค๋•Œ๋Š”: unmodifiable~ ๋‹จ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ ์ €์žฅํ•˜๋Š” ์‹ฑ๊ธ€ํ†ค ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“ค๋•Œ๋Š”: singleton ์–ด์ฉŒ๊ตฌ( ) ํ•œ ์ข…๋ฅ˜(ํƒ€์ž…) ๊ฐ์ฒด๋งŒ ์ €์žฅํ•˜๋Š” ์ปฌ๋ ‰์…˜ ๋งŒ๋“ค ๋•Œ: checked ์–ด์ฉŒ๊ตฌ( )→์ง€๋„ค๋ฆญ์Šค๊ฐ€ ๋” ๊ฐ„๋‹จํ•˜์ง€๋งŒ ํ˜ธํ™˜์„ฑ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•จ 2023.12.14 - [๐Ÿ–‹๏ธ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜/์ž๋ฃŒ๊ตฌ์กฐ] - [๋ฉ”์„œ๋“œ] Collections ํด๋ž˜์Šค ์ฃผ์š” ๋ฉ”์„œ๋“œ Arrays ํด๋ž˜.. 2023. 11. 14.
[ch.11] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ Map MapEntry ์ธํ„ฐํŽ˜์ด์Šค Map์ธํ„ฐํŽ˜์ด์Šค์˜ ๋‚ด๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค. Map์— ์ €์žฅ๋˜๋Š” Key-Value๋ฅผ ์Œ์œผ๋กœ ๋‹ค๋ฃจ๋ ค๊ณ  Entry๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ์ •์˜ํ•ด๋†“์Œ. HashMap ํด๋ž˜์Šค๋‚ด๋ถ€์— Entry[ ] ํƒ€์ž…์˜ ํ…Œ์ด๋ธ” ํ•„๋“œ๊ฐ€ ์žˆ์Œ. HashMap๊ณผ HashTable ํ‚ค&๊ฐ’์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋กœ ์ €์žฅํ•จ. ‘ํ•ด์‹ฑ’์„ ์‚ฌ์šฉํ•ด์„œ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์คŒ HashMap์€ Entry๋ผ๋Š” ๋‚ด๋ถ€์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•จ. Entryํƒ€์ž…์˜ ๋ฐฐ์—ด ์„ ์–ธ ํ›„ ํ‚ค์™€ ๊ฐ’์€ Objectํƒ€์ž… ์œผ๋กœ ์ €์žฅ๋จ. ํ‚ค๋Š” ์ €์žฅ๋œ ๊ฐ’์„ ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์œ ์ผํ•ด์•ผํ•จ. HashMap์˜ ๊ฐ’์œผ๋กœ ๋‹ค์‹œ HashMap์ €์žฅ ๊ฐ€๋Šฅ. ‘ํ•ด์‹ฑ’: ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์‹œํ…Œ์ด๋ธ”์— ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋ฒ• ํ•ด์‹ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ: ๋ฐฐ์—ด+๋งํฌ.. 2023. 11. 14.
[ch.11] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ Set HashSet Set์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค. ์ค‘๋ณต์š”์†Œ ์ €์žฅX, ์ค‘๋ณต์š”์†Œ ์ €์žฅ ์‹œ false๋ฐ˜ํ™˜ ์ €์žฅ์ˆœ์„œ ์œ ์ง€X(ํ•„์š”์‹œ LinkedHashSet์‚ฌ์šฉ) ์ค‘์š” ๋ฉ”์„œ๋“œ: add, addAll, clear, clone, contain,isEmpty, iterator, remove, retainAll, size, toArray equals( )์™€ hashCode( )๋ฅผ ๋ชฉ์ ์— ๋งž๊ฒŒ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ด์•ผํ•จ. TreeSet ‘์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ’ ์ž๋ฃŒ๊ตฌ์กฐ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ํ•˜๋Š” ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค. ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ €์žฅX, ์ €์žฅ์ˆœ์„œ ์œ ์ง€X ๋Œ€์‹  ์ €์žฅ ์‹œ ์ •๋ ฌ๋œ ์œ„์น˜์— ์ €์žฅํ•จ. ์ฒซ ๋ฒˆ์งธ ์ €์žฅ ๊ฐ’=‘๋ฃจํŠธ’ ๋ฃจํŠธ๋ผ๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๊ณ„์† ํ™•์žฅํ•จ ๋…ธ๋“œ: ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ Objectํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜1๊ฐœ + 2๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ .. 2023. 11. 14.
[ch.11] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์š” ๋ฐ List ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ํ‘œ์ค€ํ™”๋œ ํ”„๋กœ๊ทธ๋žจ๋ฐฉ์‹ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ชจ๋“  ํด๋ž˜์Šค๋“ค์€ List, Set, Map์ค‘์— ํ•˜๋‚˜๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ตฌํ˜„ํ•จ. ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค ์š”์•ฝ ArrayList ํด๋ž˜์Šค (๋ฐฐ์—ด๊ธฐ๋ฐ˜) List์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„, ๋ฐ์ดํ„ฐ ์ €์žฅ์ˆœ์„œ ์œ ์ง€O,์ค‘๋ณต ๋ฐ์ดํ„ฐ ํ—ˆ์šฉO. Object๋ฐฐ์—ด์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ. ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ฐ์ฒด๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์Œ. ๋” ์ด์ƒ ์ €์žฅ๊ณต๊ฐ„์ด ์—†์œผ๋ฉด ๋ณด๋‹ค ํฐ ๋ฐฐ์—ด์„ ์ƒ์„ฑ→๋ณต์‚ฌ→์ €์žฅ ์š”์†Œ ์‚ญ์ œ ์‹œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ง€์šฐ๋ฉด ์ข‹์Œ trimToSize(): ๋นˆ๊ณต๊ฐ„์„ ์—†์• ์„œ size(๊ฐ์ฒด๊ฐœ์ˆ˜)์™€ capacity(์šฉ๋Ÿ‰)์„ ๊ฐ™๊ฒŒํ•จ. ์ˆœ์ฐจ์  ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€์‚ญ์ œ ๋น ๋ฆ„. ์ฝ๊ธฐ ๋น ๋ฆ„. ๋น„์ˆœ์ฐจ์  ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€์‚ญ์ œ ๋Š๋ฆผ. LinkedList ํด๋ž˜์Šค (์—ฐ๊ฒฐ๊ธฐ๋ฐ˜) ๋ฐฐ์—ด์˜ ๋‹จ์ (ํฌ๊ธฐ ๋ณ€๊ฒฝ ๋ฒˆ๊ฑฐ๋กœ์›€,.. 2023. 11. 14.