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

์ž๋ฐ”11

[Java] “๊ทธ๋ƒฅ for๋ฌธ ์“ฐ๋ฉด ์•ˆ ๋ผ์š”?” Java ์ˆœํšŒ ๋ฐฉ์‹ ์ œ๋Œ€๋กœ ์•Œ๊ธฐ ๋ชฉ์ฐจ “์ปฌ๋ ‰์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ๊บผ๋‚ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”.”“for๋ฌธ ์“ฐ๋‹ค ๊ฐ‘์ž๊ธฐ ์˜ˆ์™ธ๊ฐ€ ํ„ฐ์กŒ๋Š”๋ฐ ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์–ด์š”.” Java๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ์‹ค๋ฌด์— ๋“ค์–ด์˜จ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ€์žฅ ์ž์ฃผ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•˜๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ปฌ๋ ‰์…˜ ์ˆœํšŒ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.Iterator, for-each, ListIterator, forEach(), Stream API๊นŒ์ง€… ๋„๋Œ€์ฒด ๋ญ๊ฐ€ ๋‹ค๋ฅด๊ณ , ์–ธ์ œ ๋ญ˜ ์จ์•ผ ํ• ๊นŒ์š”? ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ์ˆœํšŒ์˜ ๋ชจ๋“  ๋ฐฉ์‹์„ ์˜ˆ์ œ ์ฝ”๋“œ ์ค‘์‹ฌ์œผ๋กœ ๋น„๊ตํ•˜๊ณ , ์‹ค๋ฌด์—์„œ ์ž์ฃผ ํ„ฐ์ง€๋Š” ์˜ˆ์™ธ ์ƒํ™ฉ๊นŒ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โœ… ์™œ ์ปฌ๋ ‰์…˜ ์ˆœํšŒ ๋ฐฉ์‹์ด ์ด๋ ‡๊ฒŒ ๋งŽ์„๊นŒ?Java๋Š” ๊พธ์ค€ํžˆ ๋ฐœ์ „ํ•ด ์˜ค๋ฉด์„œ ๊ฐœ๋ฐœ์ž๋“ค์˜ ์š”๊ตฌ์™€ ๊ธฐ์ˆ  ํ๋ฆ„์— ๋งž์ถฐ ๋‹ค์–‘ํ•œ ์ˆœํšŒ ๋ฐฉ์‹์„ ๋„์ž…ํ•ด ์™”์Šต๋‹ˆ๋‹ค.๊ฐ ๋ฐฉ์‹์€ ๊ทธ ์‹œ์ ์—์„œ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•˜๊ฑฐ๋‚˜ .. 2025. 6. 13.
[Java] Math, Random, Arrays ์œ ํ‹ธ ํด๋ž˜์Šค ์™„์ „ ์ •๋ฆฌ! ๋ชฉ์ฐจ Java๋Š” ์ˆซ์ž ๊ณ„์‚ฐ, ๋‚œ์ˆ˜ ์ƒ์„ฑ, ๋ฐฐ์—ด ์กฐ์ž‘ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.๊ทธ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ๋ฐ”๋กœ Math, Random, Arrays์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด ์„ธ ๊ฐ€์ง€ ์œ ํ‹ธ ํด๋ž˜์Šค์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ํ•œ๋ˆˆ์— ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ“ Math ํด๋ž˜์ŠคMath ํด๋ž˜์Šค๋Š” ์ˆ˜ํ•™ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ •์ (static) ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.๋ชจ๋“  ๋ฉ”์„œ๋“œ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.int max = Math.max(10, 20);double sqrt = Math.sqrt(16);double pow = Math.pow(2, 3); ์ฃผ์š” ๋ฉ”์„œ๋“œ๋ฉ”์„œ๋“œ์„ค๋ช…์˜ˆ์ œMath.abs(x)์ ˆ๋Œ“๊ฐ’Math.abs(-5) → 5Math.max(a, .. 2025. 5. 27.
[Java] Wrapper ํด๋ž˜์Šค - ๊ธฐ๋ณธํ˜•์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ! ๋ชฉ์ฐจ Java๋Š” ๊ธฐ๋ณธํ˜•(primitive type)๊ณผ ์ฐธ์กฐํ˜•(reference type)์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์ปฌ๋ ‰์…˜์ด๋‚˜ ์ œ๋„ค๋ฆญ์ฒ˜๋Ÿผ ๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋œ Java์˜ ๊ตฌ์กฐ ์†์—์„œ๋Š” ๊ธฐ๋ณธํ˜•๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ Wrapper ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Wrapper ํด๋ž˜์Šค์˜ ๊ฐœ๋…, ๋ณ€ํ™˜(๋ฐ•์‹ฑ/์–ธ๋ฐ•์‹ฑ), ๊ทธ๋ฆฌ๊ณ  ํ™œ์šฉ๋ฒ•๊นŒ์ง€ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐ŸŽ Wrapper ํด๋ž˜์Šค๋ž€?Wrapper ํด๋ž˜์Šค๋Š” ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ํฌ์žฅํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, int ๊ฐ’์„ ๊ฐ์ฒด๋กœ ๋‹ค๋ฃจ๊ณ  ์‹ถ๋‹ค๋ฉด Integer๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.๊ธฐ๋ณธํ˜•Wrapper ํด๋ž˜์ŠคbooleanBooleanbyteBytecharCharactershortShortintIntegerlongLongfloatFloa.. 2025. 5. 21.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 25์ผ์ฐจ ์˜ค๋Š˜์€ Java์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ, ๋ฐฐ์—ด๊นŒ์ง€ ํญ๋„“์€ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ๋‹ค.๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด๊ธด ํ•˜์ง€๋งŒ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค์‹œ ์ •๋ฆฌํ•ด ๋ณด๋ฉด์„œ, ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ ๋ถ€๋ถ„์€ ๋” ํ™•์‹คํžˆ, ๋ถ€์กฑํ–ˆ๋˜ ๋ถ€๋ถ„์€ ๋ฉ”์›Œ๊ฐ€๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญint, double, boolean ๊ฐ™์€ ๊ธฐ๋ณธํ˜•(Primitive Type)๊ณผ Stack๊ณผ Heap์„ ํ†ตํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ •๋ฆฌํ–ˆ๋‹ค.๊ฐ’์ด ์ €์žฅ๋˜๋Š” ์œ„์น˜์™€ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์„œ ํฅ๋ฏธ๋กœ์› ๋‹ค. ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํด๋ž˜์ŠคString๊ณผ StringBuffer, StringBuilder์˜ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ๋ถˆ๋ณ€์„ฑ๊ณผ ๊ฐ€๋ณ€์„ฑ, ๋™๊ธฐํ™” ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ์จ์•ผ ํ• ์ง€ ์ดํ•ดํ–ˆ๋‹ค.๋ฐฐ์—ด๊ณผ ๋‹ค์ฐจ์› ๋ฐฐ์—ด๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™” ๋ฐฉ.. 2025. 5. 13.
[Java] ์ถ”์ƒํ™”์™€ ๋‹คํ˜•์„ฑ์œผ๋กœ ์œ ์—ฐํ•œ ์ฝ”๋“œ ์„ค๊ณ„ํ•˜๊ธฐ ๋ชฉ์ฐจ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์˜ ์ง„์งœ ํž˜์€ ์œ ์—ฐํ•จ๊ณผ ํ™•์žฅ์„ฑ์— ์žˆ์Šต๋‹ˆ๋‹ค.๊ทธ ํ•ต์‹ฌ์— ์žˆ๋Š” ๊ฐœ๋…์ด ๋ฐ”๋กœ ์ถ”์ƒํ™”(Abstraction) ์™€ ๋‹คํ˜•์„ฑ(Polymorphism) ์ด์ฃ . ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ถ”์ƒ ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค, ๋‹คํ˜•์„ฑ, instanceof๋ฅผ ํ†ตํ•ด Java๋กœ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์šด ์„ค๊ณ„ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ”ท ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๐Ÿ“Œ ์ถ”์ƒํ™”๋ž€?์ถ”์ƒํ™”๋Š” ๊ณตํ†ต์ ์ธ ์†์„ฑ๊ณผ ๋™์ž‘์„ ๋ฝ‘์•„๋‚ด์–ด ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.์ฆ‰, ์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ๊ณตํ†ต์œผ๋กœ ๊ฐ€์ ธ์•ผ ํ•  ‘ํ‹€’์„ ์ •์˜ํ•˜๋˜, ๊ตฌํ˜„์€ ๋‚˜์ค‘์— ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฑฐ์ฃ .Java์—์„œ๋Š” ์ด ์ถ”์ƒํ™”๋ฅผ ์œ„ํ•ด ์ถ”์ƒ ํด๋ž˜์Šค(Abstract Class)์™€ ์ธํ„ฐํŽ˜์ด์Šค(Interface)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ƒ ํด๋ž˜์Šค(Abstract Class)์ถ”์ƒ ํด๋ž˜์Šค๋Š” ์™„์ „ํ•˜์ง€ ์•Š์€ ํด๋ž˜์Šค๋กœ,.. 2025. 5. 13.
[Java] ์ƒ์†๊ณผ ๋ฉ”์„œ๋“œ ํ™•์žฅ์œผ๋กœ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ ๋†’์ด๊ธฐ ๋ชฉ์ฐจ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐ•๋ ฅํ•œ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” “์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ”์ž…๋‹ˆ๋‹ค.์ด์ „์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์žฌํ™œ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์ฃ .์ด ๊ฐœ๋…์„ ์‹คํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋„๊ตฌ๊ฐ€ ๋ฐ”๋กœ ์ƒ์†(Inheritance) ์ด์ฃ . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ƒ์†์„ ํ†ตํ•ด ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)๊ณผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)์„ ๋น„๊ตํ•˜๋ฉฐ Java์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์œ ์—ฐํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€๋ฅผ ํ•จ๊ป˜ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ”„ ์ƒ์†๊ณผ super ํ‚ค์›Œ๋“œ์ƒ์†(Inheritance)์ด๋ž€?์ƒ์†์€ ๊ธฐ์กด ํด๋ž˜์Šค(๋ถ€๋ชจ)๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค(์ž์‹)๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ.. 2025. 5. 12.
๋ฐ˜์‘ํ˜•