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

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

[Java] Wrapper ํด๋ž˜์Šค - ๊ธฐ๋ณธํ˜•์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ! ๋ชฉ์ฐจ Java๋Š” ๊ธฐ๋ณธํ˜•(primitive type)๊ณผ ์ฐธ์กฐํ˜•(reference type)์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์ปฌ๋ ‰์…˜์ด๋‚˜ ์ œ๋„ค๋ฆญ์ฒ˜๋Ÿผ ๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋œ Java์˜ ๊ตฌ์กฐ ์†์—์„œ๋Š” ๊ธฐ๋ณธํ˜•๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ Wrapper ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Wrapper ํด๋ž˜์Šค์˜ ๊ฐœ๋…, ๋ณ€ํ™˜(๋ฐ•์‹ฑ/์–ธ๋ฐ•์‹ฑ), ๊ทธ๋ฆฌ๊ณ  ํ™œ์šฉ๋ฒ•๊นŒ์ง€ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐ŸŽ Wrapper ํด๋ž˜์Šค๋ž€?Wrapper ํด๋ž˜์Šค๋Š” ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ํฌ์žฅํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, int ๊ฐ’์„ ๊ฐ์ฒด๋กœ ๋‹ค๋ฃจ๊ณ  ์‹ถ๋‹ค๋ฉด Integer๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.๊ธฐ๋ณธํ˜•Wrapper ํด๋ž˜์ŠคbooleanBooleanbyteBytecharCharactershortShortintIntegerlongLongfloatFloa.. 2025. 5. 21.
[Java] String vs StringBuilder vs StringBuffer Java์—์„œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃฐ ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค๋Š” String์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์„ฑ๋Šฅ, ๋™๊ธฐํ™” ์—ฌ๋ถ€, ์ˆ˜์ • ๊ฐ€๋Šฅ์„ฑ ๋“ฑ์— ๋”ฐ๋ผ StringBuilder, StringBuffer๋„ ํ•จ๊ป˜ ์•Œ์•„๋‘๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด ์„ธ ๊ฐ€์ง€ ๋ฌธ์ž์—ด ํด๋ž˜์Šค์˜ ์ฐจ์ด์ ๊ณผ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์ ์ ˆํ•œ ์„ ํƒ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โœ… StringString์€ Java์—์„œ ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.๋ถˆ๋ณ€ ๊ฐ์ฒด(immutable) ์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๋ฌธ์ž์—ด์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.์ˆ˜์ •์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ, ๊ธฐ์กด ๊ฐ์ฒด๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ์ƒˆ๋กœ์šด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.String str1 = "hello";str1 += " world"; // ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๊ฐ์ฒด ์ƒ์„ฑ์œ„ ์ฝ”๋“œ๋Š” "hello"์™€ "hello world".. 2025. 5. 20.
๐Ÿ’ป ๋ฐฑ์—”๋“œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๋ชฉ์ฐจ ์›น ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๋‹ค ๋ณด๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ํ”„๋ก ํŠธ์—”๋“œ(Front-end)๋ถ€ํ„ฐ ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ํ™”๋ฉด ๋’ค์—์„œ ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ €์žฅํ•˜๋ฉฐ, ์ธ์ฆ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ฐ”๋กœ ๋ฐฑ์—”๋“œ(Back-end)์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ฐฑ์—”๋“œ์˜ ์—ญํ• ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋Š” ์ผ, ๊ทธ๋ฆฌ๊ณ  ํ˜„๋Œ€์ ์ธ ๋ฐฑ์—”๋“œ ์•„ํ‚คํ…์ฒ˜๊นŒ์ง€ ์ฐจ๊ทผ์ฐจ๊ทผ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ’ก ๋ฐฑ์—”๋“œ ๋ž€?๋ฐฑ์—”๋“œ๋Š” ๊ฐ„๋‹จํžˆ ๋งํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ณด๊ฑฐ๋‚˜ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š๋Š” ์„œ๋ฒ„ ์ธก ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.์›น ์„œ๋น„์Šค๋ฅผ ๋น™์‚ฐ์— ๋น„์œ ํ•˜์ž๋ฉด, ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์ˆ˜๋ฉด ์œ„์— ๋–  ์žˆ๋Š” ๋ถ€๋ถ„์ด๊ณ , ๋ฐฑ์—”๋“œ๋Š” ์ˆ˜๋ฉด ์•„๋ž˜ ๊ฑฐ๋Œ€ํ•œ ๊ตฌ์กฐ๋ฌผ๊ณผ๋„ ๊ฐ™์ฃ . ๋ฐฑ์—”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ฃผ์š” ์š”์†Œ์„œ๋ฒ„: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ปดํ“จํ„ฐ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰ํ•˜๋Š” .. 2025. 5. 20.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 30์ผ์ฐจ ์˜ค๋Š˜์€ Java์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ธ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ๊ทธ์ค‘์—์„œ๋„ ์‹ค๋ฌด์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š”ArrayList, HashSet, HashMap์„ ์ค‘์‹ฌ์œผ๋กœ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ์ตํ˜”๋‹ค.๋‹จ์ˆœํ•œ ๋ฌธ๋ฒ• ํ•™์Šต์„ ๋„˜์–ด์„œ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ํŠน์„ฑ์— ๋”ฐ๋ฅธ ์„ ํƒ์˜ ์ค‘์š”์„ฑ์„ ๋А๋‚„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.๐Ÿ“˜ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท ArrayListArrayList๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜๋ฉฐ ์ค‘๋ณต๋œ ๊ฐ’์„ ํ—ˆ์šฉํ•œ๋‹ค.๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๊ณ , ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๋‹ค.์˜ค๋Š˜ ์‹ค์Šต์—์„œ๋Š” add(), get(), remove() ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ํ๋ฆ„์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ดค๋‹ค. ๐Ÿ”ถ Hash.. 2025. 5. 20.
[DevCourse] 1์ฐจ ํŒ€ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  – ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ์—ฌํ–‰์ง€ ์ถ”์ฒœ ํ”Œ๋žซํผ ๐Ÿ“† ํ”„๋กœ์ ํŠธ ๊ฐœ์š”์ง„ํ–‰ ๊ธฐ๊ฐ„: 2025๋…„ 4์›” 25์ผ ~ 5์›” 7์ผํŒ€ ์ธ์›: ์ด 5๋ช…์ฃผ์ œ: “์—ฌํ–‰”๊ฐœ๋ฐœ ๋ฐฉ์‹: Front-End ๊ธฐ์ˆ ๋งŒ ์‚ฌ์šฉ (๋ฐฑ์—”๋“œ ๋ฏธ์‚ฌ์šฉ)ํ˜•์ƒ๊ด€๋ฆฌ: GitHub์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ‘ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ์—ฌํ–‰์ง€ ์ถ”์ฒœ ํ”Œ๋žซํผ’์„ ์ฃผ์ œ๋กœ,์—ฌํ–‰ ๊ณ„ํš์„ ์‰ฝ๊ฒŒ ์„ธ์šธ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ค‘์‹ฌ์˜ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌํ–‰์€ ๊ฐ€๊ณ  ์‹ถ์ง€๋งŒ, ๊ณ„ํš์€ ๊ท€์ฐฎ๋‹ค๋Š” ์ธ์‚ฌ์ดํŠธ์—์„œ ์ถœ๋ฐœํ•ด, ๋ˆ„๊ตฌ๋‚˜ ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ์—ฌํ–‰์ง€๋ฅผ ์ถ”์ฒœ๋ฐ›๊ณ ,AI๊ฐ€ ์ œ์•ˆํ•˜๋Š” ์ผ์ •์„ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ์—ฌํ–‰ ๊ณ„ํš์„ ์™„์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐํšํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ณ„์ ˆ, ์ง€์—ญ, ํ…Œ๋งˆ, ๋™๋ฐ˜์ž ๋“ฑ ๋‹ค์–‘ํ•œ ์—ฌํ–‰ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ด ์ž์‹ ์˜ ์ทจํ–ฅ์— ๋งž๋Š” ์—ฌํ–‰์ง€๋ฅผ ์ถ”์ฒœ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ ,์„ ํƒํ•œ ์—ฌํ–‰์ง€์™€ ๊ธฐ๊ฐ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ GPT๊ฐ€ ์ž๋™ ์ƒ์„ฑํ•œ ์ผ์ •์„ ํ™•์ธํ•˜๊ณ  ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... 2025. 5. 20.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 29์ผ์ฐจ ์˜ค๋Š˜์€ Java์—์„œ ์ž์ฃผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋  ์„ธ ๊ฐ€์ง€ ๊ฐœ๋…, ์ธํ„ฐํŽ˜์ด์Šค, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ, ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ฐœ๋…์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ,๊ณตํ†ต์ ์œผ๋กœ ์ž๋ฐ”๋ฅผ ๋” ์œ ์—ฐํ•˜๊ณ  ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ•ต์‹ฌ ์š”์†Œ๋ผ๋Š” ์ ์ด ์ธ์ƒ ๊นŠ์—ˆ๋‹ค.๐Ÿ“˜ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท ์ธํ„ฐํŽ˜์ด์Šค (interface)์ธํ„ฐํŽ˜์ด์Šค๋Š” ํด๋ž˜์Šค๊ฐ€ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ํ‹€์„ ์ •์˜ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.๊ตฌํ˜„๋ถ€ ์—†์ด ๋ฉ”์„œ๋“œ์˜ ํ˜•ํƒœ๋งŒ ์„ ์–ธํ•˜๊ณ , ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ์‹ค์ œ ๋™์ž‘์„ ์ฑ„์›Œ ๋„ฃ๋Š” ๋ฐฉ์‹์ด๋‹ค.์ฝ”๋“œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋ฉฐ, ๋‹คํ˜•์„ฑ๊ณผ ํ•จ๊ป˜ ์“ฐ์ผ ๋•Œ ํฐ ์žฅ์ ์„ ๋ฐœํœ˜ํ•œ๋‹ค.ํŠนํžˆ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค๋Š” ์ ์—์„œ, ์‹ค๋ฌด์—์„œ๋„ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ๐Ÿ”ถ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (try-catch-finally, throws)์ฝ”.. 2025. 5. 20.
๋ฐ˜์‘ํ˜•