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

java17

[Java] “๊ทธ๋ƒฅ for๋ฌธ ์“ฐ๋ฉด ์•ˆ ๋ผ์š”?” Java ์ˆœํšŒ ๋ฐฉ์‹ ์ œ๋Œ€๋กœ ์•Œ๊ธฐ ๋ชฉ์ฐจ “์ปฌ๋ ‰์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ๊บผ๋‚ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”.”“for๋ฌธ ์“ฐ๋‹ค ๊ฐ‘์ž๊ธฐ ์˜ˆ์™ธ๊ฐ€ ํ„ฐ์กŒ๋Š”๋ฐ ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์–ด์š”.” Java๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ์‹ค๋ฌด์— ๋“ค์–ด์˜จ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ€์žฅ ์ž์ฃผ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•˜๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ปฌ๋ ‰์…˜ ์ˆœํšŒ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.Iterator, for-each, ListIterator, forEach(), Stream API๊นŒ์ง€… ๋„๋Œ€์ฒด ๋ญ๊ฐ€ ๋‹ค๋ฅด๊ณ , ์–ธ์ œ ๋ญ˜ ์จ์•ผ ํ• ๊นŒ์š”? ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ์ˆœํšŒ์˜ ๋ชจ๋“  ๋ฐฉ์‹์„ ์˜ˆ์ œ ์ฝ”๋“œ ์ค‘์‹ฌ์œผ๋กœ ๋น„๊ตํ•˜๊ณ , ์‹ค๋ฌด์—์„œ ์ž์ฃผ ํ„ฐ์ง€๋Š” ์˜ˆ์™ธ ์ƒํ™ฉ๊นŒ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โœ… ์™œ ์ปฌ๋ ‰์…˜ ์ˆœํšŒ ๋ฐฉ์‹์ด ์ด๋ ‡๊ฒŒ ๋งŽ์„๊นŒ?Java๋Š” ๊พธ์ค€ํžˆ ๋ฐœ์ „ํ•ด ์˜ค๋ฉด์„œ ๊ฐœ๋ฐœ์ž๋“ค์˜ ์š”๊ตฌ์™€ ๊ธฐ์ˆ  ํ๋ฆ„์— ๋งž์ถฐ ๋‹ค์–‘ํ•œ ์ˆœํšŒ ๋ฐฉ์‹์„ ๋„์ž…ํ•ด ์™”์Šต๋‹ˆ๋‹ค.๊ฐ ๋ฐฉ์‹์€ ๊ทธ ์‹œ์ ์—์„œ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•˜๊ฑฐ๋‚˜ .. 2025. 6. 13.
[Java] HashMap vs TreeMap vs LinkedHashMap, ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์จ์•ผ ํ• ๊นŒ? ๋ชฉ์ฐจ ์ง€๊ธˆ๊นŒ์ง€ List์™€ Set์˜ ๊ตฌํ˜„์ฒด๋“ค์„ ์‚ดํŽด๋ดค๋‹ค๋ฉด, ์ด์ œ Key-Value ๊ตฌ์กฐ์˜ Map ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด๋“ค์„ ๋น„๊ตํ•ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.Map์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๋น ๋ฅธ ๊ฒ€์ƒ‰๊ณผ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Java Map ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ, ๋Œ€ํ‘œ ๊ตฌํ˜„์ฒด์ธ HashMap, TreeMap, LinkedHashMap์˜ ํŠน์ง•๊ณผ ์„ฑ๋Šฅ์„ ํ•œ๋ˆˆ์— ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ—‚๏ธ Map ์ธํ„ฐํŽ˜์ด์Šค๋ž€?Map์€ Key-Value ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, Key๋Š” ์ค‘๋ณต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ Value๋Š” ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.Map map = new HashMap();map.put("Apple", 1000); // Key: "Apple", Value: 1000map.pu.. 2025. 6. 11.
[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.
๋ฐ˜์‘ํ˜•