[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. [D+59] ์๋ฐํ๋ก๊ทธ๋๋ฐ5 (์์ธ) ๊ตญ๋น์ง์ D+59 - ์๋ฐํ๋ก๊ทธ๋๋ฐ5 - • ์์ธ๋? (Exception) - ํ๋ก๊ทธ๋จ์ ์คํ์ ์ฌ์ฉ์ ๋๋ ์์คํ ์ ๋ฌธ์ ๋ก ์ธํด ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ์ง ๋ชปํ๋ ๋น์ ์์ ์ํฉ - ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋๋ผ Run-time์ ๋ฐ์ํ๋ ๋น์ ์์ ์ํฉ - ์์ธ๋ H/W์ ์ฒ๋ฆฌ๋ฐฉ์๊ณผ S/W์ ์ฒ๋ฆฌ๋ฐฉ์์ด ์์ผ๋ JVM์ ๊ฒฝ์ฐ ๋ณ๋๋ก ์ฒ๋ฆฌ ๋ก์ง์ด ์กด์ฌํ์ง ์๋ํ ์ข ๋ฃ ์ฒ๋ฆฌํ๋ค. => ๋์ด์ JAVA์คํ ์ฝ๋์ ๋ฌด๊ฒฐ์ฑ์ ์งํฌ ์ ์๋ค๊ณ ํ๋จํ๊ธฐ ๋๋ฌธ์ด๋ค. • ์์ธ์ ์ข ๋ฅ - java.lang.ArithmeticException : ์ํ ์ฐ์ฐ์ ์์ธ - java.util.InputMismatchException : Scanner๋ฅผ ํตํ ๊ฐ์ ์ ๋ ฅ ์์ธ - ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์์ธ ๋ฐ์์ ๋ฐ๋ฅธ ์์ธ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ .. 2022. 12. 13. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 14 ๋ค์