๐ก ์ปดํฌ๋ํธ
์ปดํฌ๋ํธ๋
<aside>
๐ก ์์คํ
์ ๊ตฌ์ฑ์์๋ก ๋ฐฐํฌ ํ ์ ์๋ ์ต์ ๋จ์ ์ฆ, ๋ฐฐํฌ ํ ์ ์๋ ๋จ์ ์
์
</aside>
- ํ๋์จ์ด ์ฒ๋ผ ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ ์ํํ๊ณ , ์ถํ์ ๊ตํ ํ ์ ์๋๋ก ํจ
- ์ธ๋ถ ์ฌํญ์ ๊ฒ์ผ๋ก ๋๋ฌ๋๋ฉด ์๋๊ณ , ์ถ์ํ๋ ๊ฐ๋
์ ์์กด ํด์ผ ํจ ( interface / abstract class ... )
- ์ปดํฌ๋ํธ๋ ํ๋์ ํด๋์ค๊ฐ ๋ ์๋ ์์ง๋ง, ์ฌ๋ฌ๊ฐ์ ํด๋์ค๋ก๋ ๊ตฌ์ฑ ๊ฐ๋ฅ ํจ ( ๋ฐฐํฌ ๊ฐ๋ฅํ ์ต์ ๋จ์ ์ด๊ธฐ ๋๋ฌธ )
DLL๊ณผ ์ปดํฌ๋ํธ
- ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ ์์น์ ํ๋ก๊ทธ๋จ์ ์ง์ ๋ก๋ ํ ์ง ๊ฐ๋ฐ์๊ฐ ์ง์ ์ ํ๋ ์์ ์๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์์ ์์ค์ฝ๋๋ฅผ ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋์ ์ง์ ํฌํจ ์์ผ ๋จ์ผ ํ๋ก๊ทธ๋จ์ผ๋ก ์ปดํ์ผ ํ์
- ์ด ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐํ๊ฒ ์์กดํ๊ฒ ๋จ
- ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ปค์ง์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌ์ ํ๋์ ํ๋ก๊ทธ๋จ์ ์ ๋ถ ์ฌ๋ ค ๋์ ์ ์๊ฒ ๋จ
- ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ค ์ฝ๋๋ฅผ ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๋ก ๋ถํฐ ๋ถ๋ฆฌ
- ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ปดํ์ผ ํ๊ณ , ์ปดํ์ผ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํน์ ์์น์ ๋ก๋ ํด ๋์
- ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ฌ๋ฒ ํ
์ด๋ธ ์์ฑ ํ, ์ด๋ฅผ ํ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๋ฅผ ์ปดํ์ผ
- ๋ง์ฝ ์ฑ์ ์คํํด์ผ ํ๋ค๋ฉด, ๋ฐ์ด๋๋ฆฌ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ ํ ๋ค์ ์ฑ ๋ก๋
- ๋ง์ฝ, ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ปค์ง๋ค๋ฉด, ์์ฉํ๋ก๊ทธ๋จ - ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ์์ฉ ํ๋ก๊ทธ๋จ ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋
- ๊ทธ๋ผ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ ์ปค์ง๋ค๋ฉด ์์ฉํ๋ก๊ทธ๋จ - ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ์์ฉ ํ๋ก๊ทธ๋จ - ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋
- ํ๋ก๊ทธ๋จ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ด ๋์ด๋ ์๋ก ๋จํธํ๊ฐ ๊ณ์ ๋๋ ๋ฌธ์ ์ ์ด ์์
- ์ฌ๋ฐฐ์น๊ฐ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ ํ์ฉ
- ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ, ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฝ๋๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์์ ์์น ์์ผ ์ฃผ๋ฉฐ ์ฌ๋ฐฐ์น ์์ผ ์ฃผ๋ ๋ก๋๋ฅผ ๊ฐ๋ฐ
- ์ด๋ฅผ ํตํด ์ค์ง ํ์ํ ํจ์๋ง์ ๋ก๋ ํ ์ ์๊ฒ ๋จ