Programming (22) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์ธ์ฌ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ] ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์ 5 - ๋ฐฐ์ด 2 ๋ฐฐ์ด ๋ฐฐ์ด์ ํ๋กํผํฐ ๋์ ์์ฑ ๋ฐฐ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ด๋ฏ๋ก, ์ธ๋ฑ์ค๊ฐ ์ซ์์ธ ๋ฐฐ์ด ์์ ์ด์ธ์๋ ๊ฐ์ฒด์ฒ๋ผ ๋์ ์ผ๋ก ํ๋กํผํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ๋์ ํ๋กํผํฐ๊ฐ ์ถ๊ฐ๋ ๊ฒฝ์ฐ ๋ฐฐ์ด์ length ๊ฐ์ ๋ฐ๋์ง ์๋๋ค. ๋ฐฐ์ด์ length ํ๋กํผํฐ๋ ๋ฐฐ์ด ์์์ ๊ฐ์ฅ ํฐ ์ธ๋ฑ์ค๊ฐ ๋ณํ์ ๊ฒฝ์ฐ๋ง ๋ณ๊ฒฝ๋๋ค. ๋ฐฐ์ด์ ํ๋กํผํฐ ์ด๊ฑฐ ๊ฐ์ฒด๋ for in ๋ฌธ์ผ๋ก ํ๋กํผํฐ๋ฅผ ์ด๊ฑฐํ๋ค. ๋ฐฐ์ด๋ ๊ฐ์ฒด์ด๋ฏ๋ก for in ๋ฌธ์ ์ฌ์ฉํด์ ๋ฐฐ์ด ๋ด์ ๋ชจ๋ ํ๋กํผํฐ๋ฅผ ์ด๊ฑฐํ ์ ์์ง๋ง, ์ด๋ ๊ฒ ๋๋ฉด ๋ถํ์ํ ํ๋กํผํฐ๊ฐ ์ถ๋ ฅ๋ ์ ์์ผ๋ฏ๋ก ๋๋๋ก for ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค. ๋ฐฐ์ด ์์ ์ญ์ ๋ฐฐ์ด๋ ๊ฐ์ฒด์ด๋ฏ๋ก, ๋ฐฐ์ด ์์๋ ํ๋กํผํฐ๋ฅผ ์ญ์ ํ๋ ๋ฐ delete ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. delete arr[2]๋ก ๋ฐฐ์ด์ ์์๋ฅผ ์ญ์ .. [ES6] ES6 (ES2015) ๋ฌธ๋ฒ ์ฌ๋ฌ๊ฐ์ง 1. const, let ๋ณดํต ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์ธ ๋ var๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐฉ๋ฒ๋ถํฐ ๋ฐฐ์ฐ์ง๋ง var๋ ์ด์ const์ let์ด ๋์ฒดํ๋ค. ๋ธ๋ก ์ค์ฝํ โ var๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ โ const๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ var๋ ํจ์ ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฏ๋ก if๋ฌธ์ ๋ธ๋ก๊ณผ ๊ด๊ณ์์ด ์ ๊ทผ ๊ฐ๋ฅํ๋ค. ํ์ง๋ง const์ let์ ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฏ๋ก ๋ธ๋ก ๋ฐ์์๋ ๋ณ์์ ์ ๊ทผํ ์ ์๋ค. ๋ธ๋ก์ ๋ฒ์๋ if, while, for, function ๋ฑ์ ์ค๊ดํธ์ด๋ค. → ํจ์ ์ค์ฝํ ๋์ ๋ธ๋ก ์ค์ฝํ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ํธ์ด์คํ ๊ฐ์ ๋ฌธ์ ๋ ํด๊ฒฐ๋๊ณ ์ฝ๋ ๊ด๋ฆฌ๋ ์์ํด์ง const์ let์ ์ฐจ์ด const๋ ํ ๋ฒ ๋์ ํ๋ฉด ๋ค๋ฅธ ๊ฐ์ ๋์ ํ ์ ์๋ค. const์ ๋ค๋ฅธ ๊ฐ์ ๋์ ํ๋ ค ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉฐ, ์ด๊ธฐํ ์ ๊ฐ์ ๋์ ํ.. [์ธ์ฌ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ] ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์ 4 - ๋ฐฐ์ด ๋ฐฐ์ด์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ ํน๋ณํ ํํ๋ค. ์ฆ, C๋ ์๋ฐ์ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ๊ฐ์ฒด์ง๋ง, ์ด๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ๊ตณ์ด ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ง ์์๋ ๋๋ฉฐ, ์ด๋ค ์์น์ ์ด๋ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ผ๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ๋ฐฐ์ด ๋ฆฌํฐ๋ด ๋ฐฐ์ด ๋ฆฌํฐ๋ด์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ๋ ํ๊ธฐ๋ฒ์ด๋ค. ๋ฐฐ์ด ๋ฆฌํฐ๋ด์ ๋๊ดํธ([ ])๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐฐ์ด ๋ฆฌํฐ๋ด์์๋ ๊ฐ ์์์ ๊ฐ๋ง์ ํฌํจํ๋ค. ๋ฐฐ์ด์ ์์ ์์ฑ ๊ฐ์ฒด๊ฐ ๋์ ์ผ๋ก ํ๋กํผํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋ฏ์ด, ๋ฐฐ์ด๋ ๋์ ์ผ๋ก ๋ฐฐ์ด ์์๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ํนํ, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด์ ๊ฒฝ์ฐ๋ ๊ฐ์ ์์ฐจ์ ์ผ๋ก ๋ฃ์ ํ์ ์์ด ์๋ฌด ์ธ๋ฑ์ค ์์น์๋ ๊ฐ์ ๋์ ์ผ๋ก ์ถ๊ฐํ ์ ์๋ค. ๋น ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ ๊ทผํด๋ undefined ๊ฐ์ด ์ถ๋ ฅ๋๋ค. 3๊ฐ์ ์์ .. [์ธ์ฌ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ] ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์ 3 - ํ๋กํ ํ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ ์์ ์ ๋ถ๋ชจ ์ญํ ์ ํ๋ ๊ฐ์ฒด์ ์ฐ๊ฒฐ๋์ด ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋ง์น ๊ฐ์ฒด์งํฅ์ ์์ ๊ฐ๋ ๊ณผ ๊ฐ์ด ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ๋ง์น ์์ ์ ๊ฒ์ฒ๋ผ ์ธ ์ ์๋ ๊ฒ ๊ฐ์ ํน์ง์ด ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ด๋ฌํ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ํ๋กํ ํ์ ๊ฐ์ฒด(a.k.a ํ๋กํ ํ์ )๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์์ ์์ ์์ฑํ foo ๊ฐ์ฒด์๋ toString()์ด๋ผ๋ ๋ฉ์๋๊ฐ ์์ผ๋ฏ๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํด์ผ ํ์ง๋ง, ์ ์์ ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋์๋ค. ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๊ณ ์์ ๊ฐ ์คํ๋ ์ ์๋ ์ด์ ๋ ๋ฐ๋ก foo ๊ฐ์ฒด์ ํ๋กํ ํ์ ์ toString() ๋ฉ์๋๊ฐ ์ด๋ฏธ ์ ์๋์ด ์๊ณ , foo ๊ฐ์ฒด๊ฐ ์์์ฒ๋ผ toString() ๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์ด๋ค. foo ๊ฐ์ฒด๋ฅผ ์ถ๋ ฅํ์ ๋ name, age ์ธ์ __proto__ ํ๋กํผํฐ๊ฐ ์๋ค๋.. [์ธ์ฌ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ] ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์ 2 - ์ฐธ์กฐ ํ์ ์ ํน์ฑ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ธฐ๋ณธ ํ์ ์ ์ ์ธํ ๋ชจ๋ ๊ฐ์ ๊ฐ์ฒด์ด๋ค. ๋ฐฐ์ด์ด๋ ํจ์ ๋ํ ๊ฐ์ฒด๋ก ์ทจ๊ธ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๊ฐ์ฒด๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฐธ์กฐ ํ์ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด๊ฒ์ ๊ฐ์ฒด์ ๋ชจ๋ ์ฐ์ฐ์ด ์ค์ ๊ฐ์ด ์๋ ์ฐธ์กฐ๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ด๋ค. objA ๊ฐ์ฒด๋ฅผ ๊ฐ์ฒด ๋ฆฌํฐ๋ด ๋ฐฉ์์ผ๋ก ์์ฑํ๋ค. ์ฌ๊ธฐ์ objA ๋ณ์๋ ๊ฐ์ฒด ์์ฒด๋ฅผ ์ ์ฅํ๊ณ ์๋ ๊ฒ์ด ์๋๋ผ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๊ฐ์ ์ ์ฅํ๊ณ ์๋ค. ๋ณ์ objB์ objA ๊ฐ์ ํ ๋นํ๋ค. objA๋ 1๋ฒ์์ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๊ฐ์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ๋ณ์ objB์๋ ์ด๊ฐ์ ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ์ด ์ ์ฅ๋๋ค. ๋ณ์ objB๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด์ val ๊ฐ์ 40์์ 50์ผ๋ก ๊ฐฑ์ ํ๋ค. ์ด ๋ objA๋ ๋ณ์ objB์ ๋์ผํ ๊ฐ์ฒด๋ฅผ ใ ๋ง์กฐํ๊ณ ์์ผ๋ฏ๋ก a.val ๊ฐ์ด 50.. [์ธ์ฌ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ] ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์ 1 - ๊ธฐ๋ณธ ํ์ ๊ณผ ์ฐธ์กฐ ํ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ค์ ํฌ๊ฒ ๊ธฐ๋ณธ ํ์ ๊ณผ ์ฐธ์กฐ ํ์ ์ผ๋ก ๋๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ณธ ํ์ typeof ์ฐ์ฐ์ : ํผ์ฐ์ฐ์์ ํ์ ์ ๋ฆฌํดํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์จํ ํ์ ์ฒดํฌ ์ธ์ด์ด๋ค. - ๋ณ์ ์ ์ธ ์ ํ์ ์ ๋ฏธ๋ฆฌ ์ ํ์ง ์๊ณ , var๋ผ๋ ํ ๊ฐ์ง ํค์๋๋ก๋ง ๋ณ์๋ฅผ ์ ์ธ ์ซ์ C์ธ์ด์ ๊ฒฝ์ฐ ์ ์๋ ์ค์๋์ ๋ฐ๋ผ int, long, float, double ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์ซ์ ํ์ ์ด ์กด์ฌํ์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋์ ์ซ์ํ๋ง ์กด์ฌํ๋ค. → ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ชจ๋ ์ซ์๋ฅผ 64๋นํธ ๋ถ๋ ์์์ ํํ๋ก ์ ์ฅ (C์ธ์ด์ double ํ์ ๊ณผ ์ ์ฌ) ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ ์ํ์ด ๋ฐ๋ก ์๊ณ ๋ชจ๋ ์ซ์๋ฅผ ์ค์๋ก ์ฒ๋ฆฌํ๋ฏ๋ก ๋๋์ ์ฐ์ฐ์ ํ ๋ ์ฃผ์ํด์ผ ํ๋ค. ๋ฌธ์์ด ๋ฌธ์์ด์ ์์ ๋ฐ์ดํ(')๋ ํฐ ๋ฐ์ดํ(")๋ก ์์ฑํ๋ค. ํ .. [2020-02-24] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 19 19. 19_Chatper 01. C ์ธ์ด - 18. ์ ์ฒ๋ฆฌ๊ธฐ ์ ์ฒ๋ฆฌ๊ธฐ - ์ ์ฒ๋ฆฌ๊ธฐ ๊ตฌ๋ฌธ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ์์ญ๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋จ - ์ ์ฒ๋ฆฌ๊ธฐ ๊ตฌ๋ฌธ์ ์์ค์ฝ๋ ํ์ผ ๋จ์๋ก ํจ๋ ฅ์ด ์กด์ฌ ํ์ผ ํฌํจ ์ ์ฒ๋ฆฌ๊ธฐ - #include๋ ์ ์ฒ๋ฆฌ๊ธฐ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฌธ๋ฒ - ํน์ ํ ํ์ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์ ํฌํจ์ํค๊ธฐ ์ํด ์ฌ์ฉํจ - #include ๊ตฌ๋ฌธ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ ํ์ผ์๋ ์ ์ฝ์ด ์์ #include - ์ด์ ๊ฐ์ด ์ ์ธํ๋ฉด ์์คํ ๋๋ ํ ๋ฆฌ์์ ํ์ผ์ ๊ฒ์ํจ - ์ด์์ฒด์ ๋ง๋ค ์์คํ ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ๋ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅผ ์ ์์ - ๋ํ์ ์ผ๋ก stdio.h์ ๊ฐ์ ํค๋ ํ์ผ ๋ฑ์ด ์์คํ ๋๋ ํ ๋ฆฌ์ ์กด์ฌ #include "ํ์ผ ์ด๋ฆ" - ์ด์ ๊ฐ์ด ์ ์ธํ๋ฉด ํ์ฌ ํด๋์์ ํ์ผ์ ๋จผ์ ๊ฒ์ - ๋ง์ฝ ํ์ฌ ํด๋์ ํ์ผ์ด .. [2020-02-11] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 18 18. 18_Chapter 01. C ์ธ์ด - 17. ํ์ผ ์ ์ถ๋ ฅ ํ์ผ ์ ์ถ๋ ฅ์ ํ์์ฑ - ํ๋ก๊ทธ๋จ์ด ๊บผ์ง ์ดํ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์๋ ํ์ผ ์ ์ถ๋ ฅ์ด ํ์ํจ - ๊ฒ์์ ๊ป๋ค ํฌ ๋๋ง๋ค ๋ค์ ์ฒ์๋ถํฐ ์บ๋ฆญํฐ๋ฅผ ํค์์ผ ํ๋ค๋ฉด ๋งค์ฐ ์ต์ธํ ๊ฒ - ๋ฐ์ดํฐ๋ฅผ ํ๋ก๊ทธ๋จ ์ธ๋ถ์ ์ ์ฅ์์ผ๋์๋ค๊ฐ ํ๋ก๊ทธ๋จ ๋ค์ ์คํํ ๋ ๋ถ๋ฌ์ฌ ์ ์์ => ๋ฐ์ดํฐ์ ์ ์ฅ ๋ชฉ์ SSD, CPU, RAM ์ค ํ์ผ์ด ์ค์ง์ ์ผ๋ก ์ ์ฅ๋๋ ์์น๋? - SSD (RAM์ด๋ CPU๋ ํ๋ฐ์ฑ) ํ์ผ์ ์ด๊ณ ๋ซ๊ธฐ - ํ์ผ ์ ์ถ๋ ฅ ๋ณ์๋ FILE ํ์์ ํฌ์ธํฐ ๋ณ์๋ก ์ ์ธ - ํ์ผ์ ์ด ๋๋ fopen() ํจ์๋ฅผ ์ด์ฉ - ํ์ผ์ ๋ซ์ ๋๋ fclose() ํจ์๋ฅผ ์ด์ฉ FILE *fp; fp = fopen(ํ์ผ ๊ฒฝ๋ก, ์ ๊ทผ ๋ฐฉ์); // ํ์ผ ๊ด.. ์ด์ 1 2 3 ๋ค์