๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+21] ์ƒ์† ๊ต์žฌ์ •๋ฆฌ, ์ธํ„ฐํŽ˜์ด์Šค ๊ตญ๋น„์ง€์› D+21 - ์ƒ์† ๊ต์žฌ์ •๋ฆฌ, ์ธํ„ฐํŽ˜์ด์Šค - ์ƒ์† ๊ต์žฌ์ •๋ฆฌ • ์ƒ์† - ์ƒ์†์€ ์žฌํ™œ์šฉ๊ณผ ๊ณตํ†ต๋œ ๊ทœ์•ฝ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋ฌธ๋ฒ•์ด์ž ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํŠน์ง•์ด๋‹ค. - ๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์ƒ์†ํ•˜๋ฉด ์ˆ˜ํ‰์ ์ธ ํ™•์žฅ์ด ๋ฐœ์ƒ๋  ๋•Œ ๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. - ์ƒ์†์„ ์žฌํ™œ์šฉ์ธก๋ฉด์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ˆ˜ํ‰ ํ™•์ •์ด ์กด์žฌํ•ด์•ผํ•˜๋ฉฐ, ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๋ณผ๋ฅจ์ด ์–ด๋Š์ •๋„ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. • ์–ด๋…ธํ…Œ์ด์…˜ - ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์–ด๋–ค ์ •๋ณด๋ฅผ ์ฃผ๋Š” ๊ฒƒ => ์ปดํŒŒ์ผ์‹œ์— ํŠน์ •ํ•œ ์•ก์…˜์„ ์ทจํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ public class Tank extends Unit { @Override public void Attack() { Pung(); } public void Pung() { System.out.println("ํƒฑํฌ.. 2022. 10. 20.
[D+20] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ™œ์šฉ ๊ตญ๋น„์ง€์› D+20 - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ™œ์šฉ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ™œ์šฉ #1. ์–ธ์–ด ํŠน์„ฑ ํ™œ์šฉํ•˜๊ธฐ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์œ ํ˜• - ๋ช…๋ นํ˜• ์–ธ์–ด(Imperative Language) : ์ปดํ“จํ„ฐ๊ฐ€ ๋™์ž‘ํ•ด์•ผํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๋Š” ๊ตฌ๋ฌธ์— ์ค‘์ ์„ ๋‘” ๋ฐฉ์‹ - ํ•จ์ˆ˜ํ˜• ์–ธ์–ด(Functional Language) : ํ•จ์ˆ˜์˜ ์‘์šฉ์„ ๊ฐ•์กฐํ•˜๋ฉด์„œ ์ž๋ฃŒ์˜ ์ฒ˜๋ฆฌ๋Š” ์ˆ˜ํ•™์ ์ธ ํ•จ์ˆ˜์˜ ์—ฐ์‚ฐ์œผ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ , ์ƒํƒœ์™€ ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ๋Š” ๋ฉ€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ex) LISP, Scala- ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด(Object - Oriented Language) : ๊ฐ์ฒด ๊ฐ„์˜ ๋ฉ”์‹œ์ง€ ํ†ต์‹ ์„ ์ด์šฉํ•˜์—ฌ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ex) JAVA, C++ ์ปดํŒŒ์ผ ์–ธ์–ด(Compile Language) - ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ชจ์•„์„œ object-code๋ฅผ ๋งŒ๋“ ๋‹ค. - ์ „์ฒด์†Œ์Šค.. 2022. 10. 20.
[D+19] ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ์ƒ์†๊ด€๊ณ„ ๊ตญ๋น„์ง€์› D+19 - ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ์ƒ์†๊ด€๊ณ„ - ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ์ƒ์†๊ด€๊ณ„ ์˜ค๋ฒ„๋ผ์ด๋”ฉ - ๊ฐ์ฒด์ง€ํ–ฅ์˜ ํŠน์„ฑ์ค‘ ๋‹คํ˜•์„ฑ์— ํ•ด๋‹น๋œ๋‹ค. - ๋‹คํ˜•์„ฑ : ๋ณธ์ฒด๋Š” ํ•˜๋‚˜์ธ๋ฐ ํ˜•ํƒœ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ - ์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ์ƒ์†๊ด€๊ณ„์— ์žˆ๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์—์„œ ์ด๋ฏธ ์ •์˜๋˜์–ด์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๊ฐ™์€ ๋ฐฉ์‹์„ ๊ฐ€์ง€๋Š” ๋ฉ”์†Œ๋“œ๋กœ ๋‹ค์‹œ ์žฌ์ •์˜ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. - ์ƒ์†๋ฐ›์€ ๋ถ€๋ชจ ํด๋ž˜์Šค๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ƒ์†๊ด€๊ณ„ // ๋ถ€๋ชจ ํด๋ž˜์Šค : TV // ์ž์‹ ํด๋ž˜์Šค : SmartTV TV tv = new SmartTV(ipAddress, channel);// O ์ƒ์†๊ด€๊ณ„์—์„œ ๋ถ€๋ชจํด๋ž˜์Šค์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์ž์‹ํด๋ž˜์Šค ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ถ€๋ชจํด๋ž˜์Šค TV์˜ ์ฐธ์กฐ๊ฐ’๊ณผ ์ƒ์†๋œ ์ž์‹ ํด๋ž˜์Šค์ธ SmartTV์˜ ์ฐธ์กฐ๊ฐ’์ด ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจํด๋ž˜์Šค์˜ ์ฐธ์กฐ๋ณ€์ˆ˜.. 2022. 10. 19.
[D+18] ์ƒ์† ๊ตญ๋น„์ง€์› D+18 - ์ƒ์† - ์ƒ์† ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ํ”ํžˆ ์•Œ๊ณ ์žˆ๋Š” ์šฉ์–ด์˜ ํ•ด์„์ฐจ์›์—์„œ ์ƒ์†์€ ์ž์‹์—๊ฒŒ ๋ฌผ๋ ค์ค€๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒ์†์˜ ์˜๋ฏธ๋„ ํ‹€๋ฆฐ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„์•ผํ•  ๊ธฐ๊ณ„์ ์ธ ์˜๋ฏธ๋กœ ํ•ด์„ํ•˜๋ฉด ์ƒ์†์€ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก์˜ ๊ฒฐํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ์ƒ์†์€ Heap์˜์—ญ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ฒฐํ•ฉ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ์†์˜ ์žฅ/๋‹จ์  ๋จผ์ € ์ƒ์†์˜ ์žฅ์ ์€ ์žฌํ™œ์šฉ์ ์ธ ์ธก๋ฉด์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ๋ณด์ž๋ฉด, ๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ๋™๋ฌผ๋ณ‘์› ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋•Œ ์ƒ์†์ด ์—†์„ ๊ฒฝ์šฐ์—” ๋™๋ฌผ๋“ค์€ ์ง„์ฐฐ์„ ๋ฐ›์„ ๋•Œ ํ•ญ์ƒ ํ”ผ๊ฒ€์‚ฌ๋ฅผ ๋ฐ›์•„์•ผ ํ•˜๋Š”๋ฐ ๋“ค์–ด์˜ค๋Š” ๋™๋ฌผ๋งˆ๋‹ค ํ”ผ๊ฒ€์‚ฌ๋ฅผ ๋งค๋ฒˆ ๋„ฃ์–ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์šฐ์ธก ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋งค๋ฒˆ ํ”ผ๊ฒ€์‚ฌ๋ฅผ ๋™๋ฌผ์•ˆ์— ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ”ผ๊ฒ€์‚ฌ๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“  ๋‹ค์Œ์— ๋™๋ฌผ๋“ค์—๊ฒŒ ์ƒ์†ํ•ด์ค€๋‹ค๋ฉด .. 2022. 10. 18.
[D+18] ํด๋ž˜์Šค ๊ต์žฌ์ •๋ฆฌ ๊ตญ๋น„์ง€์› D+18 - ํด๋ž˜์Šค ๊ต์žฌ์ •๋ฆฌ - ๊ฐ์ฒด ๊ฐ์ฒด๋ž€? ์ž๋ฐ”๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP: Object Oriented Programming)์œผ๋กœ ํ˜„์‹ค์„ธ๊ณ„ ์žˆ๋Š” ๊ฒƒ์ค‘์— ํ”„๋กœ๊ทธ๋žจ์ œ์ž‘์‹œ ํ•„์š”ํ•œ ์†์„ฑ๋“ค์„ ๋ฝ‘์•„๋‚ด์–ด ์ปดํ“จํŒ…์‹œ์Šคํ…œ์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•œ ๊ฒƒ์ด๋‹ค. ๊ฐ์ฒด๋Š” ํ•„๋“œ(field)์™€ ๋ฉ”์†Œ๋“œ(method)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง• 1๏ธโƒฃ ์ถ”์ƒํ™” - ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ, ์„ค๊ณ„์‚ฌํ•ญ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ์˜ํ•ด ๋ฌด์—‡์ด ์ค‘์š”ํ•œ ๊ฒƒ์ธ์ง€๋ฅผ ์ธ์ง€ํ•˜๊ณ  ๋ฝ‘์•„๋‚ด๋Š” ๊ฒƒ 2๏ธโƒฃ ์บก์Šํ™” - ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•ด ์–ป์–ด๋‚ธ ์†์„ฑ๋“ค์„ ๋ฌถ๋Š”๊ฒƒ 3๏ธโƒฃ ๋‹คํ˜•์„ฑ - ๊ฐ™์€ ๋ชจ์–‘์˜ ํ•จ์ˆ˜๊ฐ€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ - ์˜ค๋ฒ„๋กœ๋”ฉ : ํ•จ์ˆ˜์˜ ์ด๋ฆ„์€ ๊ฐ™์œผ๋‚˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋‚˜, ํƒ€์ž…์„ ํ†ตํ•ด์„œ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ - ๊ณผ๋„ํ•œ ์˜ค๋ฒ„๋กœ๋”ฉ์€ ๋ณต์žก๋„๋ฅผ ์˜ฌ๋ฆผ .. 2022. 10. 17.
[D+17] Queue ๊ตญ๋น„์ง€์› D+17 - Queue - Queue ๋Œ€๊ธฐ์—๋Š” ๋ฌด์ž‘์ • ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋Œ€๊ธฐ์™€ ์ˆœ๋ฒˆ์ด ์žˆ๋Š” ๋Œ€๊ธฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋ฒˆ์‹œ๊ฐ„์— ์šฐ๋ฆฌ๋Š” ์ˆœ๋ฒˆ์ด ์žˆ๋Š” ๋Œ€๊ธฐ์ธ Queue์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณผ ๊ฒƒ์ด๋‹ค. Queue๋Š” ์ฐจ๋ก€๊ฐ€ ์žˆ๋Š” ๋Œ€๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์‚ฌ์‹ค์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์กฑ์กฑ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ํ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์†๋„๊ฐ€ ๋‚˜๊ฐ€๋Š” ์†๋„๋ณด๋‹ค ๋น ๋ฅผ๊ฒฝ์šฐ์—” ์ค„์„ ์„ธ์›Œ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์ด๋‹ค. - ๋จผ์ € ๋“ค์–ด๊ฐ„ ๊ฒƒ์ด ๋จผ์ €๋‚˜์˜ค๋Š” ๊ตฌ์กฐ๋กœ FIFO(First In First Out)์ด๋‹ค. - ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์•ผํ•˜๋Š” ์œ„์น˜๋ฅผ rear๋ผ๊ณ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋„์ง‘์–ด๋‚ด์•ผํ•˜๋Š” ์œ„์น˜๋ฅผ front๋ผ๊ณ  ํ•œ๋‹ค. - rear์™€ front๋Š” ํ•œ๋ฑกํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค. - Enqueue : ํ์˜ rear์œ„์น˜์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. -.. 2022. 10. 17.