์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [JAVA] Collections Framework - List

    [JAVA] Collections Framework - List

    02. List ๐Ÿ“‹ 1. List์˜ ํŠน์ง• - ์ˆœ์„œ โญ•๏ธ ์ค‘๋ณต โŒ - ๋ชฉ๋ก์—์„œ ๊ฐ ์š”์†Œ๊ฐ€ ์‚ฝ์ž…๋˜๋Š” ์œ„์น˜๋ฅผ ์ œ์–ด ๊ฐ€๋Šฅ - ์š”์†Œ๋ฅผ ์ธ๋ฑ์Šค๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ธ๋ฑ์Šค๋กœ ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. - ๋™์ผํ•œ ์š”์†Œ(๊ฐ์ฒด)๋ฅผ ์ค‘๋ณตํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. - List ์ปฌ๋ ‰์…˜์€ ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์˜ ๋ฒˆ์ง€๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. - null ๋„ ์ €์žฅ์ด ๊ฐ€๋Šฅ (null์„ ์ €์žฅํ•œ ๊ฒฝ์šฐ ํ•ด๋‹น ์ธ๋ฑ์Šค๋Š” ๊ฐ์ฒด ์ฐธ์กฐX) โžก ์ฃผ์š” ๊ตฌํ˜„ ํด๋ž˜์Šค ArrayList, LinkedList, Vector, Stack 2. List ์ธํ„ฐํŽ˜์ด์Šค์™€ List ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ๊ณ„์ธต๋„(hierarchies) โญ๏ธ ArrayList์™€ LinkedList๊ฐ€ ํ•ต์‹ฌ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๊ฐ€ ์—ฌ๋Ÿฟ ์žˆ์Œ Vector(Old ๋ฒ„์ „)์™€ A..

    [JAVA] Collections Framework

    [JAVA] Collections Framework

    01. Collections Framework 1. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ปฌ๋ ‰์…˜(Collection) ์—ฌ๋Ÿฌ ๊ฐ์ฒด(๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ๋†“์€ ๊ฒƒ์„ ์˜๋ฏธ ํ”„๋ ˆ์ž„์›Œํฌ(Framwork) ํ‘œ์ค€ํ™”, ์ •ํ˜•ํ™”๋œ ์ฒด๊ณ„์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ์ฆ‰, ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ง‘ํ•ฉ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋งž๋Š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉโญ๏ธ 2. ์ฃผ์š” ์ปฌ๋ ‰์…˜ ์ธํ„ฐํŽ˜์ด์Šค ๊ณ„์ธต๋„(hierarchies) 3. ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค 4. ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค ์ •๋ฆฌ List ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ โญ•๏ธ ์ค‘๋ณต โŒ ex) ๋Œ€๊ธฐ์ž ๋ช…๋‹จ Set ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ โŒ ์ค‘๋ณต โŒ ex) ์–‘์˜ ์ •์ˆ˜ ์ง‘ํ•ฉ, ์†Œ์ˆ˜์˜์ง‘ํ•ฉ Map ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ โŒ ์ค‘๋ณต(ํ‚ค โŒ, ๊ฐ’ โญ•๏ธ ) ex) ์šฐํŽธ๋ฒˆํ˜ธ, ์ง€์—ญ๋ฒˆํ˜ธ(์ „ํ™”๋ฒˆํ˜ธ)

    [JAVA] ์˜ˆ์™ธ์ฒ˜๋ฆฌ

    [JAVA] ์˜ˆ์™ธ์ฒ˜๋ฆฌ

    ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒ๋˜๋Š” ์—๋Ÿฌ โ‘  ์ปดํŒŒ์ผ ์—๋Ÿฌ (compile time error) ์ž˜ ๋ชป๋œ ๋ฌธ๋ฒ• ์‚ฌ์šฉ, ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ ‘์ ์ธ ์—๋Ÿฌ โ‘ก ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ (runtime error) ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ. ์—๋Ÿฌ์™€ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Œ - ์—๋Ÿฌ(error) : ์‹œ์Šคํ…œ ์ด์ƒ์œผ๋กœ ๋ฐœ์ƒ๋˜๋Š” ์—๋Ÿฌ ex) ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์—๋Ÿฌ - ์˜ˆ์™ธ(exception): ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒ๋˜๋Š” ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ ex) 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ โ‘ข ๋…ผ๋ฆฌ์  ์—๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌธ์ œ๋ถ„์„์„ ์ž˜ ๋ชปํ•˜๊ฑฐ๋‚˜ ์‹ค์ˆ˜์— ์˜ํ•˜์—ฌ ์—‰๋šฑํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์—๋Ÿฌ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋‚˜ ๋””๋ฒ„๊น…์„ ํ†ตํ•ด ์—๋Ÿฌ๋ฅผ ์ฐพ์•„๋ƒ„ ex) ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋น„ํ–‰๊ธฐ๊ฐ€ ์ด์•Œ์„ ๋งž์•„๋„ ์ฃฝ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ํ•ด๋‹น ์ปดํŒŒ์ด์–ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค์ฝ”๋“œ์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ์€ ์ปด..

    [JAVA] Annotation

    Annotation (์–ด๋…ธํ…Œ์ด์ด์…˜) ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์€ ํ–ฅํ›„ ํŠน์ • ์ƒํ™ฉ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ์Šค์ฝ”๋“œ์— ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ ์ปดํŒŒ์ผ ํ•  ๋•Œ๋‚˜ ๋Ÿฐํƒ€์ž„ ์‹œ์— ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Œ ์šฉ๋„ ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์ฝ”๋“œ ๋ฌธ๋ฒ• ์—๋Ÿฌ๋ฅผ ์ฒดํฌํ•˜๋„๋ก ์ •๋ณด๋ฅผ ์ œ๊ณต ex) @Override sw ๊ฐœ๋ฐœ ํˆด์ด ๋นŒ๋“œ๋‚˜ ๋ฐฐ์น˜ ์‹œ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •๋ณด๋ฅผ ์ œ๊ณต ์‹คํ–‰ ์‹œ(๋Ÿฐํƒ€์ž„ ์‹œ) ํŠน์ • ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๋„๋ก ์ •๋ณด๋ฅผ ์ œ๊ณต 1. ๋นŒ๋“œ ์ธ ์–ด๋…ธํ…Œ์ด์…˜ ์ž๋ฐ”์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜ @Override ๋ฉ”์†Œ๋“œ๊ฐ€ ์˜ค๋ฒ„๋ผ์ด๋“œ ๋๋Š”์ง€ ๊ฒ€์ฆ Super ํด๋ž˜์Šค ๋˜๋Š” ๊ตฌํ˜„ํ•ด์•ผ ํ•  ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋ฉด ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ๋ฐœ์ƒ @Deprecated ๋ฐํ”„๋ฆฌ์ผ€์ดํ‹ฐ๋“œ ์–ด๋…ธํ…Œ์ด์…˜์€ ..