๋คํ์ฑ ๊ฐ๋
๋ฌธ์
์ธ๊ธํด์ฃผ์ Luca Cardelli & Peter Wegner (1985), "On Understanding Types, Data Abstraction, and Polymorphism" (ACM Computing Surveys, Vol. 17, No. 4)์ด ๋
ผ๋ฌธ์ด ์ ์ง๋ฌธ์ ์์ง์ ํต์ฌ์ด๊ณ ์ฌ์ค์ 'Overriding' ์ด๋ ๋จ์ด(Wording)๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ์ง๋ง, ์ฃผ์ ๊ฐ๋
๋ค์ ๋
ผ๋ฌธ์์ ๋ณด๊ณ , ๋ค๋ฅธ ์จ์น๋ฅผ ํตํด ์ง์ด๋ณธ ๊ฒฐ๊ณผ์ค๋ฒ๋ผ์ด๋ฉ์ด sub ํ์
์ ๋คํ์ฑ(๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋ ์ฌ์ ์)์ ์๋ฏธํ๋ฉฐ,๋คํ์ฑ์ ์ข
๋ฅ๋ ad-hoc ๋คํ์ฑ(์ค๋ฒ๋ก๋ฉ์ด ๋ํ์ )/ subtype์ ๋คํ์ฑ (์ค๋ฒ๋ผ์ด๋ฉ)/์ ๋ค๋ฆญ(T)/๊ฐ์ ๋ณํ(์บ์คํ
) ์ด ์๋๋ฐ ๋คํ์ฑ๊ณผ ์ถ์ํ๋ ์๋ฐํ ๊ฐ๋
์ ๊ตฌ๋ถ ํด์ผ ํ๋ฉฐ/ ๋คํ์ฑ๊ณผ ์ถ์ํ๋ฅผ ๊ด๋ จ ์์ผ ์ค๋ช
ํ๋ฉด, ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ํ ์ถ์ํ ์์
์์ ํฌํจ๋๋ ์ฃผ์ ์์
์ด ๋คํ์ฑ์ ์ค๋ฒ๋ผ์ด๋ฉ ๊ฐ๋
์ด๋ค ๋ผ๊ณ ์ดํดํ๋ฉด ๋์ง ์์ ๊น ํฉ๋๋ค. ์ฆ ๋ต๋ณ์์ ๋ง์ํ์๋ ๊ฒ์ฒ๋ผ '๊ฐ์ฒด์งํฅ ๊ด์ ์์, ์ถ์ํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ๋คํ์ฑ ๊ธฐ๋ฒ๋ค ์ค Sub ํ์
์ ๋คํ์ฑ์ ์ฌ์ฉํ๋ฉฐ ์ด๊ฒ์ด ๊ณง ํต์ฌ์ด๋ค' ๋ก ์ ๋ฆฌํ๋ฉด ๋๊ฒ ๋ค์. ๊ฐ์ ์๋ฃ์ ๋ต๋ณ์ด ๋ถ์์ฐ์ค๋ฝ๊ณ ํ ๋ฃจ์๋ค์ด์
์ด ์กด์ฌํ๋ AI๊ฐ ๋ต๋ณํ๋ ๋๋์ ๋ฐ์์ต๋๋ค. ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ธฐ ์ํ DIP๊น์ง TMI๋ก ๋์ฌ ์ค์ ๋ชฐ๋๋ค์.AI๋ฅผ ํ์ฉํด ์ ๋๋ ๋ต๋ณ์ ํ๋ ๊ฒ๋ ์ข์ง๋ง, AI ๋ต๋ณ์ ์ข ๋ ์ ๊ฒํด์ ์ง๋ฌธ์์ ์ง๋ฌธ ์๋๋ฅผ ๋ช
ํํ ํ์
ํ๊ณ ์ฝ๊ฒ ์ค๋ช
ํด์ฃผ๋ ๊ฒ๋ AI๋ฅผ ์ ๋ค๋ฃฐ ์ ์๋ ์ข์ ๋ฅ๋ ฅ์ด๋ผ ์๊ฐํ๋ฉฐ, ์ ๊ฐ์ธ์ ์ธ ํผ๋๋ฐฑ์ด์์ต๋๋ค :)) (๋ณดํต ๋ฉด์ ์ด๋ ์ค๋ฌด์์ Sub type์ ๋คํ์ฑ ์ด๋ ์๋ฉ์ ๋จ ํ๋ฒ๋ ์ฌ์ฉํด๋ณด์ง๋ ์์์ง๋ง, ๋๋ถ์ ์์ด๋ก ์ฌ์ฉํ๋ CS์ฉ์ด๋ค์ ๋ค์ผ๋ก ์์๊ฐ๋๋ค ใ
ใ
)