[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. ์ด์ 1 ยทยทยท 10 11 12 13 14 15 16 17 ๋ค์