ํด๋์ค ๋ฒ์ฒ ํ์ ์ฝํ๋๋ฐ..
class A {ย
public virtual method() {}
}
class B : A
{
public override method() {}
}
class C : B
{
public override method()ย
{
//ย ์ฌ๊ธฐ์ย base.method ํ๋ฉด B๊ฐ ํธ์ถ๋์์
// class A์ method๋ฅผ ์ด๋ป์ผ ํธ์ถํจ?
}
}
https://stackoverflow.com/questions/2323401/how-to-call-base-base-method
๊ทผ๋ฐ ์๊ฐํด๋ณด๋๊น ๊ทธ๋ฅ ๊ฐ์ ์บ์คํ ํ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ?
์ ๋ํฐ์์ ๋ป๋จ.. ๋งํฌ ๋กํ.. ๊ทธ๋ฅ ๋ฉ์๋ ํ๋ ๋ง๋๋๊ฒ ์ ์ผ ์ฌ์ธ๊ฑฐ ๊ฐ๋ค.
์.. ๋ฉ์ฒญํ๋ค, ๋ฒ์ฒ ์ด๋ผ์ ์บ์คํ ํด๋ ์ฌ๊ท๋์ด๋ฒ๋ฆฌ๋ค.. ๋ฌดํ๋ฃจํ๋์์ ๋ป๋๊ฑฐ์์
method์ ๋ํดํธ ๋งค๊ฐ๋ณ์๋ก level์ ๋ง๋ค์ด์ level์ด 0์ด๋ฉด ์๊ธฐ ํจ์ ํธ์ถํ๊ณ ์๋๋ฉด base.method(level-1)์ ํธ์ถํ๋ ์์ผ๋ก ํ๋ฉด ๋ช์ค ์์์ด๋ ์ํ๋ ๋จ๊ณ๋ฅผ ํธ์ถํ ์ ์์๋ฏ
๊ทผ๋ฐ ์ ์ด์ override๋ ๋ฒ ์ด์ค์ ์๋ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๊ฐ๋ ์ด๋ผ, ๋ฒ ์ด์ค์ ์๋ ๋ฉ์๋๋ฅผ ํ์ฅ (๊ธฐ๋ฅ์ ๊ทธ๋๋ก ์ฐ๋ฉด์ ๊ธฐ๋ฅ ์ถ๊ฐ) ํ๋๋ฐ๋ ์ ์ฐ๋๊ฒ ๋ง๋ ๊ตฌ์ฑ์. ๊ทธ๋ฅ ๋ฒ ์ด์ค์ ์๋ ์ ํํ ๋ฒ์ถ์ผ์ ๋ผ์
์ด๊ฒ ๋ง๋ค