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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ1800

ํ•ญ๊ณต์‚ฌ์ง„ ์ง€๋„๋ณด๊ธฐ 1. ํ•ญ๊ณต์‚ฌ์ง„ ์ง€๋„: ์˜๋ฏธ์™€ ๋ชฉ์  ํ•ญ๊ณต์‚ฌ์ง„ ์ง€๋„๋Š” ํ•ญ๊ณต๊ธฐ๋‚˜ ๋“œ๋ก  ๋“ฑ์—์„œ ์ดฌ์˜ํ•œ ํ•ญ๊ณต์‚ฌ์ง„์„ ์ง€๋„ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ „ ์„ธ๊ณ„์˜ ์ง€๋ฆฌ์  ์œ„์น˜์— ๋”ฐ๋ผ ์ฐ์€ ์‚ฌ์ง„๋“ค์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•˜์—ฌ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด๋‹ค ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํ•ญ๊ณต์‚ฌ์ง„ ์ง€๋„๋Š” ์ง€๋ฆฌ ์ •๋ณด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•จ์œผ๋กœ์จ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์ง€ ๋ชปํ–ˆ๋˜ ์ง€๋ฆฌ์ ์ธ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ์š” ๋ชฉ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ง€๋ฆฌ์  ์œ„์น˜ ํŒŒ์•…: ํ•ญ๊ณต์‚ฌ์ง„ ์ง€๋„๋Š” ํŠน์ • ์žฅ์†Œ์˜ ์ง€๋ฆฌ์  ์œ„์น˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์ด๋Š” ๊ฑด์ถ•๋ฌผ, ๋„๋กœ, ๋žœ๋“œ๋งˆํฌ ๋“ฑ๊ณผ ๊ฐ™์€ ํŠน์ • ์ง€์ ๋“ค์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ง€๋ฆฌ์  ๋ณ€ํ™” ๊ด€์ฐฐ: ํ•ญ๊ณต์‚ฌ์ง„ ์ง€๋„๋Š” ๊ณผ๊ฑฐ์™€ ํ˜„์žฌ์˜ ์‚ฌ์ง„์„ ๋น„๊ตํ•˜์—ฌ.. 2023. 11. 22.
์šฐํŽธ๋ฒˆํ˜ธ ์ง€๋„๊ฒ€์ƒ‰ I. ์†Œ๊ฐœ ์šฐํŽธ๋ฒˆํ˜ธ ์ง€๋„๊ฒ€์ƒ‰์€ ํ˜„๋Œ€ ์‚ฌํšŒ์—์„œ ๊ผญ ํ•„์š”ํ•œ ์ •๋ณด ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ํŠน์ • ์ง€์—ญ์˜ ์šฐํŽธ๋ฒˆํ˜ธ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์šฐํŽธ๋ฌผ ๋ฐฐ์†ก์ด๋‚˜ ์ธํ„ฐ๋„ท ์‡ผํ•‘์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์šฐํŽธ๋ฒˆํ˜ธ ์ง€๋„๊ฒ€์ƒ‰์— ๋Œ€ํ•œ ์ดํ•ด์™€ ํ™œ์šฉ์€ ์šฐ๋ฆฌ ์ผ์ƒ ์ƒํ™œ์„ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์šฐํŽธ๋ฒˆํ˜ธ ์ง€๋„๊ฒ€์ƒ‰์˜ ์—ญํ• ๊ณผ ์˜์˜, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ์˜ˆ์‹œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐํŽธ๋ฒˆํ˜ธ ์ง€๋„๊ฒ€์ƒ‰์€ ๋ชจ๋‘๊ฐ€ ์ผ์ƒ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, ๊ทธ ๋‚ด๋ถ€ ๋™์ž‘ ์›๋ฆฌ๋‚˜ ๋‹ค์–‘ํ•œ ํ™œ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž˜ ์•Œ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ด ๊ธ€์„ ํ†ตํ•ด ์šฐํŽธ๋ฒˆํ˜ธ ์ง€๋„๊ฒ€์ƒ‰์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๊ณ , ๋ณด๋‹ค ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋กœ์จ, ์—ฌ๋Ÿฌ๋ถ„๋“ค์€.. 2023. 11. 22.
ํƒ์ƒ์šฉ ์Šค๋งˆํŠธํฐ ๊ฑฐ์น˜๋Œ€ 1. ํƒ์ƒ์šฉ ์Šค๋งˆํŠธํฐ ๊ฑฐ์น˜๋Œ€์˜ ์—ญํ• ๊ณผ ํ•„์š”์„ฑ ์Šค๋งˆํŠธํฐ์€ ํ˜„๋Œ€์ธ๋“ค์˜ ์ƒํ™œ์— ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ผ์ƒ์ ์ธ ์—…๋ฌด๋‚˜ ์˜ˆ์ˆ ์ ์ธ ์ฐฝ์ž‘๋ฌผ์„ ๋งŒ๋“ค ๋•Œ ์Šค๋งˆํŠธํฐ์„ ์ž์ฃผ ์ด์šฉํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธด ์‹œ๊ฐ„๋™์•ˆ ์Šค๋งˆํŠธํฐ์„ ๋“ค๊ณ  ์ž‘์—…ํ•˜๊ฒŒ ๋˜๋ฉด ์†๋ชฉ ํ”ผ๋กœ์™€ ๋ชฉ ํ†ต์ฆ ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํƒ์ƒ์šฉ ์Šค๋งˆํŠธํฐ ๊ฑฐ์น˜๋Œ€๋Š” ํ•„์ˆ˜๋ถˆ๊ฐ€๊ฒฐํ•œ ์•„์ดํ…œ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํƒ์ƒ์šฉ ์Šค๋งˆํŠธํฐ ๊ฑฐ์น˜๋Œ€์˜ ์ฃผ์š” ์—ญํ• ์€ ์Šค๋งˆํŠธํฐ์„ ์•ˆ์ •์ ์œผ๋กœ ์ง€์ง€ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋” ํŽธ์•ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์†๋ชฉ์˜ ๋ถ€๋‹ด์„ ์ค„์ด๊ณ  ์ •์ž์„ธ๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ๋ชฉ๊ณผ ๋“ฑ์— ์••๋ ฅ์ด ๊ฐ€ํ•ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์Šค๋งˆํŠธํฐ์„ ๊ณ ์ •์‹œ์ผœ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ƒ ํ™œ๋™ ์ค‘์— ์Šค๋งˆํŠธํฐ์„ ๋†“์น˜์ง€ ์•Š๊ณ  ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ.. 2023. 11. 21.
String, StringBuffer, StringBuilder์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ์ด์œ  I. String, StringBuffer, StringBuilder์˜ ๊ฐœ์š” 1. String ํด๋ž˜์Šค String ํด๋ž˜์Šค๋Š” ๋ถˆ๋ณ€(Immutable)ํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ String ๊ฐ์ฒด๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋ณ€๊ฒฝ ์‹œ์—๋Š” ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ๋ฌธ์ž์—ด ์—ฐ์‚ฐ์ด ๋นˆ๋ฒˆํžˆ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋งŽ์•„์ง€๊ณ  ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค. 2. StringBuffer ํด๋ž˜์Šค StringBuffer ํด๋ž˜์Šค๋Š” ๊ฐ€๋ณ€(Mutable)ํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋ฌธ์ž์—ด ์—ฐ์‚ฐ์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ๊ธฐ์กด ๊ฐ์ฒด์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. StringBuilder ํด๋ž˜์Šค์™€ ์‚ฌ์šฉ๋ฒ•, ์„ฑ๋Šฅ ๋ฉด์—์„œ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋™๊ธฐํ™”(synchronized)๋ฅผ ์ง€์›ํ•˜์—ฌ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด ์—ฐ.. 2023. 11. 21.