์ธ์คํด์ค2 [C++] 16-3. ์์(Inheritance)๊ด๊ณ์ ์ธ์คํด์ค ์์ฑ, ์๋ฉธ ์์ ๊ด๊ณ์์ ์์ฑ๋๋ ์ธ์คํด์ค์ ์ ํ ์ค ๋คํ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ์ธ์คํด์ค๋ ๋ณดํต ํ์ํด๋์ค(Derived Class)๋ฅผ ํตํด ๊ธฐ๋ณธ ํด๋์ค(Base Class)๋ฅผ ์ด๊ธฐํํฉ๋๋ค. ์์ ๊ด๊ณ์์ ํ์ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋ ๋ค ํ๋๋ผ๋ ๋ด๋ถ์ ์ผ๋ก๋ ๊ธฐ๋ณธ ํด๋์ค์ ์ธ์คํด์ค๊น์ง ๋ง๋ค์ด์ง์ง๋ง ๊ธฐ๋ณธ ํด๋์ค์ ์์ฑ์๋ ์์๋ก ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋๋ก ์ธ์คํด์ค์ ์๋ฉธ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ํ์ ํด๋์ค๋ง ์๋ฉธํ๊ณ ๊ธฐ๋ณธ ํด๋์ค์ ์์ญ์ด ์๋ฉธ๋์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ด ๋ํ ํ์ ํด๋์ค์์ ์ฑ ์์ ธ์ผ ํฉ๋๋ค. ์์ฑ์(Contructor) ๊ธฐ๋ณธ ํด๋์ค(Base Class)์ ์์ฑ์ ํธ์ถ: ํ์ ํด๋์ค(Derived Class)์ ์์ฑ์๊ฐ ํธ์ถ๋๊ธฐ ์ ์ ๋จผ์ ๊ธฐ๋ณธ .. 2023. 6. 29. ์ฑ๊ธํค ํจํด โ ์ฑ๊ธํค ํจํด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋ ๋ ์ด๋ค ํด๋์ค๊ฐ ์ต์ด ํ๋ฒ๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ (Static) ๊ทธ ๋ฉ๋ชจ๋ฆฌ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ ๋์์ธํจํด. ์์ฑ์๊ฐ ์ฌ๋ฌ ์ฐจ๋ก ํธ์ถ๋๋๋ผ๋ ์ค์ ๋ก ์์ฑ๋๋ ๊ฐ์ฒด๋ ํ๋๊ณ ์ต์ด ์์ฑ ์ดํ์ ํธ์ถ๋ ์์ฑ์๋ ์ต์ด์ ์์ฑํ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. (์๋ฐ์์ ์์ฑ์๋ฅผ private๋ก ์ ์ธํด์ ์์ฑ ๋ถ๊ฐํ๊ฒ ํ๊ณ getInstance()๋ก ๋ฐ์์ฐ๊ธฐ๋ ํจ) => ์ฑ๊ธํค ํจํด์ ๋จ ํ๋์ ์ธ์คํด์ค๋ฅผ ์์ฑํด ์ฌ์ฉํ๋ ๋์์ธ ํจํด์ด๋ค. (์ธ์คํด์ค๊ฐ ํ์ ํ ๋ ๋๊ฐ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ๋ด๋ ๊ฒ์ด ์๋๋ผ, ๋์ผ(๊ธฐ์กด) ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ฒํจ) โ ์ฑ๊ธํค ํจํด์ ์ฐ๋ ์ด์ ๊ณ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ป์ผ๋ฉด์ ํ๋ฒ์ new๋ก ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ ์ ์์ ๋ํ ์ฑ๊ธํค.. 2023. 1. 3. ์ด์ 1 ๋ค์