IInterct
{
ย public void Interact()
ย {
ย }
}
class A : Iinteract
{
ย .....
ย public void Interact() / ์ฌ์ ์
}
์ด๋ฐ A๊ฐ์ฒด๊ฐ ์๋๋ฐย A์ ๊ธฐ๋ฅ์ ๋ชจ๋ ํ๋๋ฐ ์ถ๊ฐ๋ก ๋ช๊ฐ์ง ๊ธฐ๋ฅ์ ๋ ๊ฐ์ง ๊ฐ์ฒด๊ฐ ํ์ํ ์ํฉ์ธ๋ฐ
Q1. Class B: A ์ด๋ ๊ฒํด์ class A๋ฅผ ์์๋ฐ์ผ๋ฉด A์ ์๋ ์ธํฐํ์ด์ค ๊ตฌํ ํจ์๊น์ง ๋ชจ๋ ๋ค ๊ฐ์ด ์์๋ฐ๋์?
Q2. Q1์ด ๋ง๊ณ ํฐํ์ด์ค ๊ตฌํํจ์๊น์ง ์ ๋ถ ์์๋ฐ๊ฒ๋๋ค๋ฉด class B์์ public void Interact()๋ผ๋ ํจ์๋ฅผ ๋ค์ ์ ์ธํ๋ฉด ๊ธฐ์กด A์ ์๋ Interactํจ์๋ ๊ฐ๋ ค์ง๋์? ์๋๋ฉด Class B: A, IInteract ์ด๋ ๊ฒํด์ ๋ ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์์ผํ๋์?
A1. Yes A2. No. B์์ A์ interactํจ์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด A::Interact()๊ฐ์์์ผ๋ก ์ง์ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ด ์์. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ทธ๋ฅ ๋ฎ์ด์. method overload์ ๊ด๋ จํด์ ์ข ์ฐพ์๋ณด๋ฉด ์ข์๋ฏ
์ด๋ฐ ๊ฑด ๊ฐ๋จํ ์ฝ๋ ๋ง๋ค์ด์ ์ง์ ๊ฒ์ฆํด๋ณด๋ ๊ฒ ๋จธ๋ฆฌ์ ์ ๋จ์