[D+58] ์๋ฐํ๋ก๊ทธ๋๋ฐ4 (์์, LSP, ์ธํฐํ์ด์ค) ๊ตญ๋น์ง์ D+58 - ์๋ฐํ๋ก๊ทธ๋๋ฐ4 - ์์ - ์ฝ๋์ ์ฌํ์ฉ์ฑ์ ๋์ด๊ณ ๊ณตํต์ ๊ท์ฝ์ ์ ๊ณตํ๊ธฐ ์ํ ๊ฐ์ฒด์งํฅ์ ํน์ฑ(์์์ฑ)์ ๋ํ๋ธ๋ค. - ๋ถ๋ชจํด๋์ค๋ฅผ ํ์ฅํ๊ณ ์์ํด๋์ค๋ฅผ ๋ง๋๋ ๊ธฐ๋ฒ์ด๋ค. - ์์์ ๋ง๋ค๋์๋ ์ด๋์ ๋ ๋ณผ๋ฅจ์ด ์์ด์ผ ํ๋ฉฐ, ๋ณผ๋ฅจ์ด ์๋ ์ํ๋ก ์์์ ํ๋ค๋ฉด ์ฝ๋์ ๋ณต์ก๋๊ฐ ์คํ๋ ค ์ฌ๋ผ๊ฐ๊ณ ๋ฆฌ๋๋น๋ฆฌํฐ๊ฐ ๋จ์ด์ง ์ ์๋ค. ์์ ๋ฉ๋ชจ๋ฆฌ๋งต ์์ฑ์์ ํธ์ถ ์์ ์์ ๊ทธ๋ฆผ์ ํตํด์ ์์ฑ์์ ํธ์ถ์์๋ฅผ ์์๋ณด๋ฉด, ๋ถ๋ชจํด๋์ค์ ์์ฑ์๊ฐ ๋จผ์ ํธ์ถ๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด์ง๋ง Dog์ ์์ฑ์๊ฐ ๋จผ์ ํธ์ถ์ด ๋๋ค. ์ด๋, Dog๋ ๋จ์ํ ํธ์ถ๋ง๋๊ณ ์คํ๋์ง ์๊ณ ๋ฐ๋ก ๋ถ๋ชจํด๋์ค์ธ Animal๋ก ๋ค์ด๊ฐ์ Animal์ ์์ฑ์๊ฐ ์คํ๋๊ณ ๋์ Dog์ ์์ฑ์๊ฐ ๊ทธ ์ดํ์ ์คํ๋๋ค. ์ด์ฒ๋ผ ์ฐ๋ฆฌ๋ ๊ฐ ์์ฑ์๊ฐ ํธ์ถ.. 2022. 12. 13. [D+57] ์๋ฐํ๋ก๊ทธ๋๋ฐ3 (Overloading, String, Array) ๊ตญ๋น์ง์ D+57 - ์๋ฐํ๋ก๊ทธ๋๋ฐ3 - ์ค๋ฒ๋ก๋ฉ(Overloading) - ๊ฐ์ฒด์งํฅ์ ํน์ฑ์ค ๋คํ์ฑ์ ์ง์ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ค ํ๋๋ก ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ก ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ ํธ์ถํ๋ ๋ฉ์ปค๋์ฆ ์ด๋ค. - ์ค๋ฒ๋ก๋ฉ์ ํตํด ์ปดํ์ผ๋ฌ๊ฐ ํจ์์ ์ด๋ฆ๋ง ๊ฐ์ง๊ณ ํ๋จํ๋ ๊ฒ์ด ์๋๋ผ ํ๋ผ๋ฏธํฐ๋ ํ์ธํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ํน์ง - ๋ฉ์๋์ "ํ๋ผ๋ฏธํฐ"๋ก ๊ตฌ๋ณํ์ฌ ํธ์ถํ๋ค. - ๋ฆฌํดํ๋ง ๋ค๋ฅธ ๊ฒฝ์ฐ ์ค๋ฒ๋ก๋ฉ์ ์ฌ์ฉํ ์ ์๋ค. - ๊ณผ๋ํ ์ค๋ฒ๋ก๋ฉ์ ์คํ๋ ค ๊ฐ๋ ์ฑ์ ์ ํด์ํฌ ์ ์๋ค. - ์ ๋งคํ ์ค๋ฒ๋ก๋ฉ์ ํ์ง ์์์ผ ํ๋ค. (ex. ์ค๋ฒ๋ก๋ฉ์์ฑ์์ค ํ๋ผ๋ฏธํฐ์ ๊ฐ์๊ฐ ๊ฐ๊ณ ๊ฐ์ ํ์ ์ธ ์์ฑ์๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ) String ๋ฌธ์์ด์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํด๋์ค๋ก ์ข ๋ฃ๋ฌธ์(null๋ฌธ์, ์ผ๋ฐ์ ์ผ๋ก 0x00)๋ฅผ ํฌํจํ๋ ๋ฌธ์์ ์งํฉ์.. 2022. 12. 12. [D+57] ์๋ฐํ๋ก๊ทธ๋๋ฐ2 (์ ๋ณด์๋๊ณผ ์บก์ํ, ํด๋์ค ๋ณ์์ ํด๋์ค ๋ฉ์๋) ๊ตญ๋น์ง์ D+57 - ์๋ฐํ๋ก๊ทธ๋๋ฐ2 - ์ ๋ณด์๋๊ณผ ์บก์ํ • ์ ๋ณด์๋ ์ ๋ณด์๋์ ํด๋์ค์ ๋ฐ์ดํฐ๋ ๊ธฐ๋ฅ์ ์จ๊ธฐ๊ฑฐ๋ ๊ณต๊ฐํ๋ ๊ฐ์ฒด์งํฅ์ ํน์ฑ์ ์๋ฏธํ๋ค. ํ์์ฑ - ๋ณด์์ฑ : ๊ณต๊ฐ๋ฅผ ํ์ง ์์์ผ ํ ๋ฐ์ดํฐ์ ๋ณดํธ - ์ฌ์ฉ์ฑ : ๊ณต๊ฐํ ๋ฐ์ดํฐ๋ ๊ธฐ๋ฅ๋ค๋ง ์ฌ์ฉ - ์ผ๊ด์ฑ : ์ ํด์ง ๋ฐฉ์์ผ๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผ - ํ์ฅ์ฑ : ํด๋์ค์ ํ์ฅ์ ์ ๋ณด์๋์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฅ(์์ ๋ฉ์นด๋์ฆ) ์ ๋ณด์๋์ ๋ฐฉ๋ฒ (Access-Level Modifier) • ์บก์ํ - ๊ด๋ จ์๋ ๋ฐ์ดํฐ์ ๋ฉ์๋๋ฅผ ๋ฌถ์ด ํด๋์ค๋ฅผ ์กฐ์งํ๋ ๊ฐ์ฒด์งํฅ์ ํน์ฑ์ด๋ค. - ์บก์ํ๋ ์ ๋ณด์๋๊ณผ ํจ๊ป ์ด๋ฃจ์ด์ง๋ค. - ์บก์ํ๋ ์์ฑ์ด ์๋ ์ต์ ์ ๊ด์ ์ผ๋ก ์ ๊ทผํ์ฌ์ผ ํ๋ค. ์ ์์ฌํญ - ๋จ์ผ ๋ชฉ์ ์ฑ : ํ๋์ ๋ชฉ์ (์ญํ )์ ์ํํ๋๋ก ํด๋์ค๋ฅผ ์กฐ์ง - ์ ๋ณด์๋ : .. 2022. 12. 9. [D+56] ์๋ฐํ๋ก๊ทธ๋๋ฐ2 (ํด๋์ค์ ์ธ์คํด์ค, ํจํค์ง) ๊ตญ๋น์ง์ D+56 - ์๋ฐํ๋ก๊ทธ๋๋ฐ2 - ํด๋์ค์ ์ธ์คํด์ค • ํด๋์ค ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ์ ํจ์์ ์งํฉ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํด๋์ค๋ ์์ฐ์ค๋ฝ๊ฒ ์ฐ๊ด๋์ด ์๋ ์๋ฃ(Data)์ ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ(Method)๊ฐ ๋ชจ์ฌ์๋ ์ฌ์ฉ์ ์ ์ํ ๋ฐ์ดํฐํ์ ์ด๋ค. - Class = Data + Method - Data : ํ๋ก๊ทธ๋จ์์ ์ ์น, ๊ด๋ฆฌํด์ผํ ๋ฐ์ดํฐ, Attribute๋ผ๊ณ ๋ ํ๋ค. - Method : Data๋ฅผ ์กฐ์ํ๋ ํจ์ • ์ธ์คํด์ค - ํด๋์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ๊ตฌ์กฐํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ญ์ ์๋ฏธํ๋ฉฐ Object๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. - ์ธ์คํด์ค๋ ๋ชจ๋ ๊ฐ์ฒด์งํฅ ์ธ์ด๊ฐ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ง๋๋ ๊ฒ์ ์๋์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์ ์ฌ์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ๊ฐ์ฒด์งํฅ์ ๋ชฉ์ ๊ฐ์ฒด์งํฅ์ ๋์ฒด์ ์ผ๋ก ์์ค๊ฐ ๋ณผ๋ฅจ์ด ์์ด์ผ ์๋ฏธ๊ฐ ์๊ธฐ ๋๋ฌธ์ .. 2022. 12. 9. [D+56] ์๋ฐํ๋ก๊ทธ๋๋ฐ1 (์คํ ํ๋ฆ ์ ์ด, ๋ฉ์๋์ ๋ณ์์ ์ค์ฝํ) ๊ตญ๋น์ง์ D+56 - ์๋ฐํ๋ก๊ทธ๋๋ฐ1 - ์คํ ํ๋ฆ ์ ์ด • ์กฐ๊ฑด๋ฌธ // if๋ฌธ if(Boolean-expression){ ... } // if-else๋ฌธ (else๋ ์๋ตํ๊ณ ์ถ์ผ๋ฉด ์๋ต๊ฐ๋ฅ) if(Boolean-expression){ ... } else { ... } // if-else if๋ฌธ if(Boolean-expression) { ... } else if(Boolean-expression) { ... } else if(Boolean-expression) { ... } else {...} ์กฐ๊ฑด๋ฌธ์๋ if๋ฌธ, if-else๋ฌธ, if-else if๋ฌธ์ด ์๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์ค์ํ๊ฒ ์๊ฐํด์ผ ํ ๊ฒ์ ์กฐ๊ฑด๋ฌธ์์๋ Boolean-expression์ด ๋ค์ด๊ฐ๋ค๋ ๊ฒ์ธ๋ฐ Boolean-expressio.. 2022. 12. 8. [D+55] ์๋ฐํ๋ก๊ทธ๋๋ฐ1 (๋ณ์์ ์๋ฃํ, ์์์ ํ๋ณํ, ์ฐ์ฐ์) ๊ตญ๋น์ง์ D+55 - ์๋ฐํ๋ก๊ทธ๋๋ฐ1 - ๋ณ์์ ์๋ฃํ • ๋ณ์ ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๊ณต๊ฐ์ ํ ๋นํ๊ณ ์ด๋ฅผ ์ ๊ทผํ๊ธฐ ์ํ ์ด๋ฆ์ด๋ค. ex) ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ๊ทธ ๋ฉ๋ชจ๋ฆฌ์ a๋ผ๋ ์ด๋ฆ์ ์ง์ด์ฃผ์์ ๋ a๋ฅผ ๋ณ์๋ผ๊ณ ํ๋ค. • ์๋ฃํ ์๋ฃํ์ ๋ณ์๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ์์ผ๋ก ํฌ๊ธฐ์ ๊ท์น์ด ๋ดํฌ๋์ด ์๋ค. int a;// size: 4byte, rule: ์ ์ float a;// size: 4byte, rule: ์ค์ double a;// size: 8byte, rule: ์ค์ boolean a;// size: 1byte, rule: ์ง๋ฆฌ๊ฐ Student a;// size: 4byte, rule: ์ฐธ์กฐ๊ฐ Animal a;// size: 4byte, rule: ์ฐธ์กฐ๊ฐ // ์ฐธ์กฐ๊ฐ์ด ๋ค์ด์๋ Student a์ Animal.. 2022. 12. 7. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 16 ๋ค์