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

java15

[Java] ArrayList vs LinkedList, HashSet vs TreeSet ๋น„๊ต ๋ชฉ์ฐจ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดํ•ดํ–ˆ๋‹ค๋ฉด, ์ด์ œ ์‹ค์ œ ๊ตฌํ˜„์ฒด๋“ค์˜ ์ฐจ์ด๋ฅผ ์‚ดํŽด๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋”๋ผ๋„ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ ํŠน์„ฑ์ด ์™„์ „ํžˆ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ƒํ™ฉ์— ๋งž๋Š” ์„ ํƒ์ด ์ •๋ง ์ค‘์š”ํ•˜์ฃ . ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” List์˜ ๋Œ€ํ‘œ ๊ตฌํ˜„์ฒด์ธ ArrayList์™€ LinkedList, Set์˜ ๋Œ€ํ‘œ ๊ตฌํ˜„์ฒด์ธ HashSet๊ณผ TreeSet์˜ ํŠน์ง•๊ณผ ์„ฑ๋Šฅ์„ ์˜ˆ์ œ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ๋น„๊ตํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ“ฆ ArrayList vs LinkedListArrayListArrayList๋Š” ๋™์  ๋ฐฐ์—ด(Dynamic Array) ๊ตฌ์กฐ๋กœ, ๋‚ด๋ถ€์ ์œผ๋กœ Object ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ด ์š”์†Œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.List arrayList = new ArrayList();arrayList.add("Apple"); // ์ธ๋ฑ์Šค 0array.. 2025. 6. 4.
[Java] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋ฌธ: List, Set, Map ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ธฐ ๋ชฉ์ฐจ Java๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ผ์ด ์ž์ฃผ ์ƒ๊น๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด๋งŒ์œผ๋กœ๋Š” ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๊ธฐ ์–ด๋ ต์ฃ . Java๋Š” ์ด๋Ÿฐ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(Collection Framework)๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ „์ฒด ๊ตฌ์กฐ์™€ ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค์ธ List, Set, Map์˜ ๊ฐœ๋…๊ณผ ์ฐจ์ด์ ์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ“ฆ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€?์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ + ์•Œ๊ณ ๋ฆฌ์ฆ˜ + ํ‘œ์ค€ํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ฉํ•œ Java์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด๋ณด๋‹ค ํ›จ์”ฌ ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค๋™์  ํฌ๊ธฐ ์กฐ์ ˆ: ๋Ÿฐํƒ€์ž„์— ํฌ๊ธฐ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ๋‚ด์žฅ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ œ๊ณต: ์ •๋ ฌ, ๊ฒ€์ƒ‰ ๋“ฑ์˜ ์•Œ๊ณ ๋ฆฌ.. 2025. 5. 28.
[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.
[Java] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์™„์ „ ์ •๋ณต โ‘ก : throw, throws์™€ ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ํด๋ž˜์Šค ๋ชฉ์ฐจ ํ”„๋กœ๊ทธ๋žจ์„ ๋” ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹จ์ˆœํžˆ ์˜ˆ์™ธ๋ฅผ ์žก๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์˜ˆ์™ธ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ณ  ์„ค๊ณ„ํ•  ์ค„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์˜ˆ์™ธ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์ƒํ™ฉ์— ๋งž๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์‹ค๋ฌด์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” throw์™€ throws ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•œ ์˜ˆ์™ธ ์ œ์–ด ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ํด๋ž˜์Šค ์ƒ์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ”ท throw์™€ throws ํ‚ค์›Œ๋“œthrow๋ž€?throw๋Š” ์˜ˆ์™ธ ๊ฐ์ฒด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค.ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ค‘๋‹จํ•˜๊ณ  ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋กœ์ง์œผ๋กœ ์ œ์–ด๋ฅผ ๋„˜๊ธฐ๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.public class ThrowExample { public static void main(String[] args) {.. 2025. 5. 17.
[Java] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์™„์ „ ์ •๋ณต โ‘  : ๊ฐœ๋…๋ถ€ํ„ฐ try-catch๊นŒ์ง€ ๋ชฉ์ฐจ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ์ž…๋ ฅ์„ ํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ฑฐ๋‚˜, ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์ฃ . ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฐ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(Exception Handling) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ž˜ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์นœ์ ˆํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ, ๋ฌธ์ œ์˜ ์›์ธ์„ ์ถ”์ ํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์š”. ์˜ค๋Š˜์€ ์ž๋ฐ” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ’ฅ ์˜ˆ์™ธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?์˜ˆ์™ธ(Exception)๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์ด๋ฒคํŠธ๋กœ, ํ”„๋กœ๊ทธ๋žจ์˜ ์ •์ƒ์ ์ธ ํ๋ฆ„์„ ๋ฐฉํ•ดํ•ฉ๋‹ˆ๋‹ค. ์—๋Ÿฌ(Error) vs ์˜ˆ์™ธ(Exception)์—๋Ÿฌ(Er.. 2025. 5. 16.
๋ฐ˜์‘ํ˜•