์์ํด๋์ค2 [C++] 16-3. ์์(Inheritance)๊ด๊ณ์ ์ธ์คํด์ค ์์ฑ, ์๋ฉธ ์์ ๊ด๊ณ์์ ์์ฑ๋๋ ์ธ์คํด์ค์ ์ ํ ์ค ๋คํ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ์ธ์คํด์ค๋ ๋ณดํต ํ์ํด๋์ค(Derived Class)๋ฅผ ํตํด ๊ธฐ๋ณธ ํด๋์ค(Base Class)๋ฅผ ์ด๊ธฐํํฉ๋๋ค. ์์ ๊ด๊ณ์์ ํ์ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋ ๋ค ํ๋๋ผ๋ ๋ด๋ถ์ ์ผ๋ก๋ ๊ธฐ๋ณธ ํด๋์ค์ ์ธ์คํด์ค๊น์ง ๋ง๋ค์ด์ง์ง๋ง ๊ธฐ๋ณธ ํด๋์ค์ ์์ฑ์๋ ์์๋ก ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋๋ก ์ธ์คํด์ค์ ์๋ฉธ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ํ์ ํด๋์ค๋ง ์๋ฉธํ๊ณ ๊ธฐ๋ณธ ํด๋์ค์ ์์ญ์ด ์๋ฉธ๋์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ด ๋ํ ํ์ ํด๋์ค์์ ์ฑ ์์ ธ์ผ ํฉ๋๋ค. ์์ฑ์(Contructor) ๊ธฐ๋ณธ ํด๋์ค(Base Class)์ ์์ฑ์ ํธ์ถ: ํ์ ํด๋์ค(Derived Class)์ ์์ฑ์๊ฐ ํธ์ถ๋๊ธฐ ์ ์ ๋จผ์ ๊ธฐ๋ณธ .. 2023. 6. 29. [C++] 16-1. ์์(Inheritance)๊ณผ ๊ฐ์ ํจ์(Virtual Function) ์ด๋ฒ ํฌ์คํ ๋ถํฐ๋ ๊ฒฝ์ด์ฒด๋ก ๊ธ์ ์ฐ๊ฒ ์๋๋ค. ์ฌํ๊น์ง ํ์ด์ฒด๋ก ํฌ์คํ ํ๋๋ฐ, ๋ฑ๋ฑํ ๋๋์ด ๋ค์ด์ ์ง๊ธ๋ถํฐ๋ ์ข ๋ ์น์ ํ๊ฒ ์์ธํ๊ฒ ์ค๋ช ํ๋ ค๊ณ ๊ฒฝ์ด์ฒด๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค! ์์(Inheritance) ๊ฐ์ฒด ์งํฅ์ 4๋ ์์น(์บก์ํ, ์ถ์ํ, ์์, ๋คํ์ฑ) ์ค ์์ ๊ทธ๋ฆฌ๊ณ ๋คํ์ฑ์ ๋ค๋ค๋ณด๋ ค๊ณ ํฉ๋๋ค. ์์์ ๊ฐ์ฒด์งํฅ์ ๊ฝ์ด์ ํต์ฌ์ด๋ผ๊ณ ๋ ํ ์ ์์ต๋๋ค. ํด๋์ค ์์ฒด๋ง์ผ๋ก๋ ๊ฐ์ฒด๋ผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ํํํ๋ค๋ฉด, ์์์ ํตํ ๋คํ์ฑ์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ๋์ฑ ํ์ฑํ๊ณ ์ฝ๊ฒ ํํํ ์ ์๋๋ก ํ์ฃ . ์์์ ํตํด ๊ธฐ์กด์ ์ ์๋ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ก์ด ํด๋์ค๋ฅผ ์ ์ํ ์ ์์ผ๋ฉฐ, ๊ณตํต๋ ๊ฒ์ ๊ณต์ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค ์ ์์ต๋๋ค. ์์์ ํด๋์ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ์ฌ ์ฝ๋ ์ฌ์ฌ์ฉ๊ณผ ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋.. 2023. 6. 23. ์ด์ 1 ๋ค์