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

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

[Java] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์™„์ „ ์ •๋ณต โ‘ก : throw, throws์™€ ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ํด๋ž˜์Šค ๋ชฉ์ฐจ ํ”„๋กœ๊ทธ๋žจ์„ ๋” ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹จ์ˆœํžˆ ์˜ˆ์™ธ๋ฅผ ์žก๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์˜ˆ์™ธ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ณ  ์„ค๊ณ„ํ•  ์ค„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์˜ˆ์™ธ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์ƒํ™ฉ์— ๋งž๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์‹ค๋ฌด์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” throw์™€ throws ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•œ ์˜ˆ์™ธ ์ œ์–ด ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ํด๋ž˜์Šค ์ƒ์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ”ท throw์™€ throws ํ‚ค์›Œ๋“œthrow๋ž€?throw๋Š” ์˜ˆ์™ธ ๊ฐ์ฒด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค.ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ค‘๋‹จํ•˜๊ณ  ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋กœ์ง์œผ๋กœ ์ œ์–ด๋ฅผ ๋„˜๊ธฐ๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.public class ThrowExample { public static void main(String[] args) {.. 2025. 5. 17.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 28์ผ์ฐจ ์˜ค๋Š˜์€ Java์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ์ƒ์†, ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ/์˜ค๋ฒ„๋กœ๋”ฉ, ๋‹คํ˜•์„ฑ, ์ถ”์ƒ ํด๋ž˜์Šค, ํ…œํ”Œ๋ฆฟ ๋ฉ”์„œ๋“œ ํŒจํ„ด์„ ๋ฐฐ์› ๋‹ค. ์ถ”์ƒ์ ์ธ ๊ฐœ๋…๋“ค์ด ๋งŽ์•„์„œ ์‰ฝ์ง€๋งŒ์€ ์•Š์•˜์ง€๋งŒ,์ง์ ‘ ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ผ ํ•ด๋ณด๋ฉด์„œ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์—ฐ๊ฒฐ ๊ณ ๋ฆฌ๋“ค์ด ํ•˜๋‚˜์”ฉ ๋งž์ถฐ์ง€๋Š” ๋А๋‚Œ์ด์—ˆ๋‹ค.๐Ÿ“˜ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐ŸŸฆ ์ƒ์† (Inheritance)์ƒ์†์€ ๊ธฐ์กด ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ ค๋ฐ›์•„ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.์ž์‹ ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„(๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ)๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ํ•„์š”ํ•˜๋ฉด ์ผ๋ถ€๋ฅผ ์žฌ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.๋ฐ˜๋ณต์„ ์ค„์ด๊ณ , ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ํ•œ ๊ณณ์— ๋ชจ์•„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ตฌ์กฐ๋‹ค. ๐ŸŸง ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ vs ์˜ค๋ฒ„๋กœ๋”ฉ์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ์ƒ์†๋ฐ›์€ ๋ฉ”์„œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๊ณ ,์˜ค๋ฒ„๋กœ.. 2025. 5. 16.
[Java] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์™„์ „ ์ •๋ณต โ‘  : ๊ฐœ๋…๋ถ€ํ„ฐ try-catch๊นŒ์ง€ ๋ชฉ์ฐจ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ์ž…๋ ฅ์„ ํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ฑฐ๋‚˜, ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์ฃ . ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฐ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(Exception Handling) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ž˜ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์นœ์ ˆํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ, ๋ฌธ์ œ์˜ ์›์ธ์„ ์ถ”์ ํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์š”. ์˜ค๋Š˜์€ ์ž๋ฐ” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ’ฅ ์˜ˆ์™ธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?์˜ˆ์™ธ(Exception)๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์ด๋ฒคํŠธ๋กœ, ํ”„๋กœ๊ทธ๋žจ์˜ ์ •์ƒ์ ์ธ ํ๋ฆ„์„ ๋ฐฉํ•ดํ•ฉ๋‹ˆ๋‹ค. ์—๋Ÿฌ(Error) vs ์˜ˆ์™ธ(Exception)์—๋Ÿฌ(Er.. 2025. 5. 16.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 27์ผ์ฐจ ์˜ค๋Š˜์€ Java์—์„œ ์ค‘์š”ํ•œ ๊ตฌ์กฐ์  ๊ฐœ๋…์ธ ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž, static ํ‚ค์›Œ๋“œ, ๊ทธ๋ฆฌ๊ณ  ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ์ด์ „๊นŒ์ง€๋Š” ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ–ˆ๋‹ค๋ฉด, ์˜ค๋Š˜์€ ‘์ด ์ฝ”๋“œ๊ฐ€ ์™œ ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€’์— ๋Œ€ํ•œ ๊ด€์ ์œผ๋กœ ๋ฐ”๋ผ๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ํ•œ์ธต ๋” ๊นŠ์ด ์žˆ๋Š” ํ•™์Šต์ด ๋˜์—ˆ๋‹ค.๐Ÿ“˜ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”น ๋ฉ”์„œ๋“œ (Method)๋ฉ”์„œ๋“œ๋Š” ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๋Š” ๋ธ”๋ก์œผ๋กœ, ์–ด๋–ค ๊ฐ’์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•œ ๋’ค ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‹จ์ˆœ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.์ต์ˆ™ํ•œ ๊ตฌ์กฐ์˜€์ง€๋งŒ, ์ž๋ฐ”์—์„œ๋Š” ๋ฐ˜ํ™˜ ํƒ€์ž…๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ€์ž…์„ ๋ช…ํ™•ํžˆ ์„ ์–ธํ•ด์•ผ ํ•˜๊ธฐ์— ๋” ์‹ ์ค‘ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ๋‹ค.๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๊ณ , ์ฝ”๋“œ๋ฅผ ์—ญํ• ๋ณ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฐ๊ฐ์„ ํ‚ค์šฐ๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ๋‹ค. ๐Ÿ”ธ ์ƒ์„ฑ์ž (Constructor)์ƒ์„ฑ์ž๋Š” ๊ฐ์ฒด๊ฐ€ ๋งŒ๋“ค์–ด์งˆ ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”์„œ.. 2025. 5. 15.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 26์ผ์ฐจ ์˜ค๋Š˜์€ Java์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ArrayList ํด๋ž˜์Šค๋ฅผ ์ค‘์‹ฌ์œผ๋กœ, ์ธ์Šคํ„ด์Šค, ์ ‘๊ทผ์ œํ•œ์ž, ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฐœ๋…๊นŒ์ง€ ํ•จ๊ป˜ ํ•™์Šตํ–ˆ๋‹ค. ์ž๋ฐ”์˜ ๊ธฐ์ดˆ๋ฅผ ์Œ“์•„๊ฐ€๋Š” ๊ณผ์ •์—์„œ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด, ๊ทธ๋ฆฌ๊ณ  ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐ŸŸฆ ArrayList ํด๋ž˜์ŠคArrayList๋Š” ๋™์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ๊ตฌ์กฐ๋กœ,add(), get(), remove(), size() ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. import java.util.ArrayList;๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ฐฐ์—ด๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ์‹ค๋ฌด์—์„œ๋„ ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๋Š” ์ ์ด ์ธ์ƒ ๊นŠ์—ˆ๋‹ค. ๐ŸŸฉ ์ธ์Šคํ„ด์Šค์™€ ๊ฐ์ฒดํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์„ฑ๋œ ์‹ค์ œ ๊ฐ์ฒด๋ฅผ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ํ•˜๋ฉฐ, .. 2025. 5. 14.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 25์ผ์ฐจ ์˜ค๋Š˜์€ Java์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ, ๋ฐฐ์—ด๊นŒ์ง€ ํญ๋„“์€ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ๋‹ค.๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด๊ธด ํ•˜์ง€๋งŒ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค์‹œ ์ •๋ฆฌํ•ด ๋ณด๋ฉด์„œ, ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ ๋ถ€๋ถ„์€ ๋” ํ™•์‹คํžˆ, ๋ถ€์กฑํ–ˆ๋˜ ๋ถ€๋ถ„์€ ๋ฉ”์›Œ๊ฐ€๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญint, double, boolean ๊ฐ™์€ ๊ธฐ๋ณธํ˜•(Primitive Type)๊ณผ Stack๊ณผ Heap์„ ํ†ตํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ •๋ฆฌํ–ˆ๋‹ค.๊ฐ’์ด ์ €์žฅ๋˜๋Š” ์œ„์น˜์™€ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์„œ ํฅ๋ฏธ๋กœ์› ๋‹ค. ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํด๋ž˜์ŠคString๊ณผ StringBuffer, StringBuilder์˜ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ๋ถˆ๋ณ€์„ฑ๊ณผ ๊ฐ€๋ณ€์„ฑ, ๋™๊ธฐํ™” ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ์จ์•ผ ํ• ์ง€ ์ดํ•ดํ–ˆ๋‹ค.๋ฐฐ์—ด๊ณผ ๋‹ค์ฐจ์› ๋ฐฐ์—ด๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™” ๋ฐฉ.. 2025. 5. 13.
๋ฐ˜์‘ํ˜•