๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+64] ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ8 (์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐœ๋…, List<E> ์ธํ„ฐํŽ˜์ด์Šค, ๋ฐ˜๋ณต์ž, ์ปฌ๋ ‰์…˜ ๋ณ€ํ™˜) ๊ตญ๋น„์ง€์› D+64 - ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ8 - ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐœ๋… - ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ์ปฌ๋ ‰์…˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง‘ํ•ฉ์ด๋‹ค. - ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์ด ๋†’๊ฒŒํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง‘ํ•ฉ์ด๋‹ค. - ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๋‚˜ ์‚ฌ์‹ค์ƒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. • ์ปฌ๋ ‰์…˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฒ”์šฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. List ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋‹ค. - ์ค‘๋ณต์ด ํ—ˆ์šฉ๋œ๋‹ค. • ArrayList - ๋ฐฐ์—ด๊ธฐ๋ฐ˜์˜ ์ž๋ฃŒ๊ตฌ์กฐ ์ด๋‹ค. - ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ์—†์ด ์œ ์ง€๋˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹๋‹ค. ์žฅ์  1. ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์‰ฝ๋‹ค. 2. ๋ฐ์ดํ„ฐ์˜ ์ฝ๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ๋‹จ์  1. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ(์ถ”๊ฐ€, ์‚ญ์ œ) ์†๋„๊ฐ€ ๋Š๋ ค์ง„๋‹ค. (์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค) ์ถ”๊ฐ€ : ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ ํ• ๋‹น .. 2022. 12. 21.
[D+63] ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ7 (์™€์ผ๋“œ ์นด๋“œ) ๊ตญ๋น„์ง€์› D+63 - ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ7 - ์™€์ผ๋“œ์นด๋“œ ๊ฐœ๋… - ์™€์ผ๋“œ ์นด๋“œ๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž…์˜ ์•ˆ์ „์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•œ type argument์ด๋‹ค. - ์™€์ผ๋“œ์นด๋“œ๋Š” ์ œ๋„ค๋ฆญ๊ณผ ์™„์ „ํžˆ ๊ฐ™์€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง„๋‹ค. - ์™€์ผ๋“œ์นด๋“œ๋ฅผ ํ†ตํ•ด ์ œ๋„ค๋ฆญ์˜ ์‚ฌ์šฉ์„ ์ œํ•œํ•จ์œผ๋กœ ์•ˆ์ „ํ•œ ์ œ๋„ค๋ฆญ ์‚ฌ์šฉ์„ ๊ตฌํ˜„ํ•œ๋‹ค. - ์™€์ผ๋“œ ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ์ฒด์˜ ์ƒํ•œ๊ณผ ํ•˜ํ•œ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์€ ๊ฒฌ๊ณ ์„ฑ๊ณผ ๊ฐ„๊ฑด์„ฑ์ด๋‹ค. T(์ œ๋„ค๋ฆญ) → ์–ด๋–ค ๋ฐ์ดํ„ฐํƒ€์ž…๋„ ๋‹ค ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ?(์™€์ผ๋“œ์นด๋“œ) → ๋ฌด์Šจ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์˜ฌ ์ง€ ๋ชจ๋ฅธ๋‹ค + ์ œ์•ฝ์กฐ๊ฑด • ์™€์ผ๋“œ์นด๋“œ์˜ ์ƒํ•œ ์ œํ•œ (Upper-Bounded Wildcard) - Box 2022. 12. 20.
[D+62] ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ7 (ํƒ€์ž…์˜ ์ œํ•œ, ์ œ๋„ค๋ฆญ ๋ฉ”์†Œ๋“œ, ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค์˜ ์ƒ์†, ํƒ€์ผ“ ํƒ€์ž…) ๊ตญ๋น„์ง€์› D+62 - ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ7 - ํƒ€์ž…์˜ ์ œํ•œ ์ œ๋„ค๋ฆญ ํƒ€์ž…์— ์ œํ•œ์„ ๊ฑธ์–ด์•ผํ•˜๋Š” ์ด์œ ๋Š” ํ•œ์ •๋œ ํƒ€์ž…์„ ์ง€์ •ํ•ด ๋†“์œผ๋ฉด ํ•œ์ •๋œ ํƒ€์ž…์— ๋Œ€ํ•œ ๊ณตํ†ต๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. → ๊ธฐ๊ณ„์  ์ด์œ  ) ํƒ€์ž…์— ์ œํ•œ์„ ๊ฑธ์–ด๋‘์ง€ ์•Š์œผ๋ฉด ์•„๋ฌด๊ฑฐ๋‚˜ ์˜ฌ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํŠน์ • ๋ฉ”์†Œ๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†๋‹ค. → ๋…ผ๋ฆฌ์  ์ด์œ  ) ํƒ€์ž…์— ์ œํ•œ์„ ๊ฑธ์–ด๋‘์—ˆ์„ ์‹œ์— ๋…ผ๋ฆฌ์  ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ๊ณตํ•˜๋ฉฐ ์ด๋Š” ๋ฆฌ๋”๋นŒ๋ฆฌํ‹ฐ๊ฐ€ ์ƒ์Šนํ•œ๋‹ค. : ํƒ€์ž… ์–ด๋–ค๊ฒƒ์ด๋“  ์˜ฌ ์ˆ˜ ์žˆ์–ด : Numberํƒ€์ž…์—์„œ ํŒŒ์ƒ๋œ ํด๋ž˜์Šค๋งŒ ์˜ฌ ์ˆ˜ ์žˆ์–ด (Integer, Double) • ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž…์˜ ์ œํ•œ - class Box { ... } - ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์‹œ์— ํƒ€์ž…์ธ์ž๋กœ Number ๋˜๋Š” ์ด๋ฅผ ์ƒ์†ํ•˜๋Š” ํด๋ž˜์Šค๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. class Box { private T obj;.. 2022. 12. 18.
[D+61] ํ™”๋ฉด๊ตฌํ˜„ ๊ตญ๋น„์ง€์› D+61 - ํ™”๋ฉด ๊ตฌํ˜„ - UI์„ค๊ณ„ ๋‚ด์šฉ ํ™•์ธ • UI (User Interface) - CLI (๋ช…๋ น์–ด ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค, Command Line Interface) : ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ์ด ์ƒํ˜ธ ์ž‘์šฉ์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ช…๋ น๊ณผ ์ถœ๋ ฅ์ด ๋ฐ์ŠคํŠธ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋œ๋‹ค. - GUI (๊ทธ๋ž˜ํ”ฝ ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค, Graphical User Interface) : ์‚ฌ์šฉ์ž๊ฐ€ ์ปดํ“จํ„ฐ์˜ ์ž์›์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ์š”์†Œ๋“ค์ด ๊ทธ๋ž˜ํ”ฝ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋œ๋‹ค. - NUI (์ž์—ฐ์–ด ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค, Natural User Interface) : ๋ชธ์ง“, ๋ง์†Œ๋ฆฌ๋งŒ์œผ๋กœ๋„ IT๊ธฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. • UI ํ‘œ์ค€ ๋ฐ ์ง€์นจ - UIํ‘œ์ค€์€ ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋ชจ๋“  UI์— ๊ณตํ†ต์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ๋‚ด์šฉ์„ ์˜๋ฏธํ•˜๋ฉฐ, ํ™”๋ฉด ๊ตฌ์„ฑ ๋‚ด์šฉ์ด๋‚˜.. 2022. 12. 16.
[D+60] ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ7 (์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐœ๋…, ์ œ๋„ค๋ฆญ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•) ๊ตญ๋น„์ง€์› D+60 - ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ7 - ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐœ๋… • ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Generic Programming)์ด๋ž€? - ์ž๋ฃŒํ˜•์ด๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ์žฌํ™œ์šฉ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์ด๋‹ค. ์žฌํ™œ์šฉ์„ฑ : ๋ฐ•์Šค๋ฅผ ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค๋ฉด ๊ฐ๊ฐ์˜ ๋ฐ•์Šค๋ฅผ ๊ตฌํ˜„๋‚ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์œ ์—ฐ์„ฑ : ์™ธ๋ถ€๋ณ€ํ™”์— ๋Œ€ํ•ด ๋Œ€์‘์„ ์ž˜ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. - ๋น„๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์„ฑํ–ฅ์„ ๊ฐ€์ง€๋ฉฐ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ด๋‚˜ ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋ฒ—์–ด๋‚˜ "๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„" ํ•˜๊ฒŒ๋” ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. - ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. (Object๊ฐ€ ๋ฌด์—‡์ด๋ƒ์— ๋”ฐ๋ผ์„œ Class๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ฒ ๋‹ค) - ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์‹œ์ ์— ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. • ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด์ „ ๋งŒ์•ฝ ๋‚ด๊ฐ€ ๋ฐ•์Šค ๊ฐ์ฒด ์•ˆ์— ๊ณผ์ผ์„ ๋„ฃ์–ด์„œ.. 2022. 12. 15.
[D+60] ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ6 (Object ํด๋ž˜์Šค, Wrapper ํด๋ž˜์Šค, Arrays ํด๋ž˜์Šค) ๊ตญ๋น„์ง€์› D+60 - ์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ6 - Object ํด๋ž˜์Šค • ๊ฐœ๋… - JAVA์˜ ๋ชจ๋“  ํด๋ž˜์Šค์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค์ด๋‹ค. - ๊ธฐ๋ณธ์ ์ด๋ฉด์„œ ํ•„์ˆ˜์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. • ์ฃผ์š”๊ธฐ๋Šฅ - finalize : ์ธ์Šคํ„ด์Šค์˜ ์†Œ๋ฉธ์ž - equals : ์ธ์Šคํ„ด์Šค์˜ ๋น„๊ต - clone : ์ธ์Šคํ„ด์Šค์˜ ๋ณต์ œ Wrapper ํด๋ž˜์Šค • ๊ฐœ๋… - wrapper์˜ ๊ฐ์‹ธ๋‹ค(wrap)๋ผ๋Š” ๋œป์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๊ธฐ๋ณธ์ž๋ฃŒํ˜•(ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒํƒ€์ž…)์„ ๊ฐ์‹ธ์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ํด๋ž˜์Šค์ด๋‹ค. - int๋‚˜ doubleํ˜•์„ ๊ฐ์ฒดํ™”ํ•˜์—ฌ ํž™์— ๋„ฃ๋Š”๋‹ค. • ์ข…๋ฅ˜ - Boolean - Short - Integer - Byte - Float - Double • ์›๋ฆฌ - Boxing : ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒํƒ€์ž…์„ ๊ฐ์ฒดํ™” ํ•˜๋Š” ๊ฒƒ์„ Boxing์ด๋ผ๊ณ  ํ•œ๋‹ค. - UnBoxing : B.. 2022. 12. 15.