๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+24] ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตญ๋น„์ง€์› D+24 - ์˜ˆ์™ธ์ฒ˜๋ฆฌ - ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์˜ˆ์™ธ (Exception) - ์‚ฌ์šฉ์ž ์‹ค์ˆ˜, ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ๋กœ ์ธํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋Œ€์‘ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ (abnormal condition) - ์ฝ”๋“œ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹˜. - ์‹คํ–‰์‹œ๊ฐ„(Run-Time)์— ๋ฐœ์ƒํ•˜๋Š” ๋น„์ •์ƒ์  ์ƒํ™ฉ - ๋น„์ •์ƒ์  ์ƒํ™ฉ์€ ๋Œ€๋ถ€๋ถ„ ์–ด๋–ค๊ฒŒ ์ •์ƒ์ ์ธ์ง€ ํŒ๋‹จ ๋ถˆ๊ฐ€๋Šฅ - ํŒ๋‹จ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— JVM ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€๊ธ‰์  ์ข…๋ฃŒ ์˜ˆ์™ธ์—๋Š” ์˜ˆ์ธก๊ฐ€๋Šฅํ•œ ์˜ˆ์™ธ์™€ ์˜ˆ์ธก๋ถˆ๊ฐ€๋Šฅํ•œ ์˜ˆ์ธก์ด ์žˆ๋‹ค. ์ด๋•Œ ์˜ˆ์ธก๊ฐ€๋Šฅํ•œ ์˜ˆ์™ธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋Œ€์‘์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด๋‚˜๊ฐˆ์ˆ˜ ์žˆ์ง€๋งŒ, ์˜ˆ์ธก์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์˜ˆ์™ธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋Œ€์‘ํ•  ์ˆ˜ ์—†๋Š” ์˜ˆ์™ธ๋„ ์กด์žฌํ•œ๋‹ค. ์ด๋•Œ ์˜ˆ์ธก๊ฐ€๋Šฅํ•œ ์˜ˆ์™ธ๋Š” ๊ฒฐ๋ก ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐํ•จ์ด ์—†๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ˜.. 2022. 10. 25.
[D+23] ์ธํ„ฐํŽ˜์ด์Šค, ์ถ”์ƒํด๋ž˜์Šค ๊ตญ๋น„์ง€์› D+23 - ์ธํ„ฐํŽ˜์ด์Šค, ์ถ”์ƒํด๋ž˜์Šค - ์ธํ„ฐํŽ˜์ด์Šค ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ƒ์†์—์„œ์˜ ๊ทœ์•ฝ์„ ์ข€๋” ๊ตฌ์ฒดํ™”ํ•˜๊ณ  ๊ฐ•์ œํ™”ํ•œ ๊ฒƒ์œผ๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋‚ด์— ํ‘œํ˜„๋˜์–ด ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•˜์„๊ฒฝ์šฐ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ์ด๋Ÿฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์›๋ฆฌ๋กœ ์ฝ”๋“œ์˜ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์•„์ง„๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ ๋Š” ์žˆ์ง€๋งŒ ๋‹จ์  ๋˜ํ•œ ์กด์žฌํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด MS๋ผ๋Š” ํšŒ์‚ฌ์—์„œ ์ธํ„ฐํŽ˜์ด์Šค Printable์•ˆ์— ํ”„๋ฆฐํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ํ•จ์ˆ˜์™€ ํ‘๋ฐฑ์ถœ๋ ฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ initPrinter์™€ printDoc์„ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„ํ•˜๋„๋ก ๊ทœ์•ฝ์„ ์ •ํ•ด๋†จ๋‹ค๊ณ  ํ•˜์ž. ๊ทธ๋Ÿฌ๋ฉด HPPrinter, SSPrinter, EPPrinter๋Š” ๊ฐ ํ•จ์ˆ˜๋ฅผ ํด๋ž˜์Šค๋‚ด์— ๊ตฌํ˜„ํ–ˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋•Œ, ๋” ๋‚˜์•„๊ฐ€ ์‹œ๋Œ€๊ฐ€ ๋ฐœ์ „ํ•˜์—ฌ ํ”„๋ฆฐํ„ฐํšŒ์‚ฌ๋“ค์—์„œ ์ ์ฐจ ์ปฌ๋Ÿฌํ”„๋ฆฐํ„ฐ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์–ด MS๋‚ด์—์„œ ์ปฌ๋Ÿฌํ”„๋ฆฐํ„ฐ๋ฅผ ํ•˜๋„๋ก ๋ช…๋ น.. 2022. 10. 24.
[D+22] Linked List ๊ตญ๋น„์ง€์› D+22 - Linked List - Linked List • ์ •์˜ ๊ธฐ์กด์— ์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์šด ๋ฐฐ์—ด์€ ์—ฐ๊ฒฐ๋˜์–ด ๋ถ™์–ด์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์ ‘๊ทผํ•˜๊ธฐ์ข‹์œผ๋ฉฐ, ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๊ณ ์ •์ ์ธ ๋ฐ์ดํ„ฐ์— ์‚ฌ์šฉ์ด ์šฉ์ดํ•œ ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฐ์—ด์—๋„ ๋‹จ์ ์ด ์กด์žฌํ•˜๋Š”๋ฐ ๋ฐ”๋กœ ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋นผ๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ ์—ฐ์‚ฐ์ด๋‚˜ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ๋ฐฐ์—ด๊ธ” ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •์ ์ธ ํŠน์ง•์œผ๋กœ ์ธํ•ด ์ถ”ํ›„์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ฌ์ง€ ๋ชฐ๋ผ ์‚ฌ์ด์ฆˆ๋ฅผ ํฌ๊ฒŒ์žก์•„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‚ญ๋น„๋  ์—ผ๋ ค๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฐ์—ด์˜ ๋ฌธ์ œ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ”๋กœ Linked List๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. • ๊ตฌ์กฐ Linked List๋Š” Data์™€ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ฐธ๊ณ ๊ฐ’์„ ๋‹ด๊ณ ์žˆ๋Š” ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ• ๋•Œ ๋งˆ๋‹ค ๋…ธ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉฐ ๋™์‹œ์— ์ด์ „ ๋…ธ๋“œ๊ฐ€ ์ƒˆ.. 2022. 10. 24.
[D+22] ์ฝ”๋”ฉ๋ฐ์ด ๊ตญ๋น„์ง€์› D+22 - ์ฝ”๋”ฉ๋ฐ์ด - ์ฝ”๋”ฉ๋ฐ์ด Q) Linked List๋ฅผ ๊ตฌํ˜„ํ•˜์‹œ์˜ค. • Main.java public class Main { // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ getํ•˜๋Š” ํ•จ์ˆ˜ public static Node getLastNode(Node head) { Node lastNode = head; while(lastNode.getNext() != null) { lastNode = lastNode.getNext(); } return lastNode; } // ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜ public static void InsertNode(Node head, Node newNode) { Node lastNode = null; // 1. ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ์ฐพ๋Š”๋‹ค. lastNode = getLastNode(head); //.. 2022. 10. 22.
[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.