class A {
int age
virtual int ReturnHeight() { }
}
class B : A {
int heightΒ
override int ReturnHeiht() {
retrun height;
}
}
λΌλ ν΄λμ€λ€μ΄ μμ΅λλ€.
B b = new B();
A a = (A)b;
a.ReturnHeight();
κ³Ό κ°μ΄ Baseν΄λμ€λ‘ νλ³νμ ν λ€,
μμλ ν΄λμ€μ λ©€λ²λ³μμ μ κ·Όν μ μλκ² μ΄λ‘ μ μΌλ‘ μ μ΄ν΄κ° μλλλ°,
μ»΄νμΌλ¬κ° ν΄λμ€λ€μ νμ±ν λ,
A ν΄λμ€λ Bμ κ°μ μμνλ ν΄λλ€μ΄ μλ€λ κ²μ μΈμ§ν λ€,
A ν΄λμ€μ λ©λͺ¨λ¦¬ 곡κ°μ 미리 μμλλ ν΄λμ€λ€μ λ©€λ²λ³μ 곡κ°μ 미리 ν λΉν΄ λκΈ° λλ¬Έμ κ°λ₯ν κ²μΈμ§,
λ€λ₯Έ λ°©λ²μ΄ μ¬μ©λλμ§κ° κΆκΈν©λλ€.
λ³μ aλ bλ μ€μ κ°μ΄ μλ κ°μ λν μ°Έμ‘°λ§ κ°μ§κ³ μμ΄μ κ°λ₯νκ±°μ
λ΅λ³ κ°μ¬ν©λλ€.
μ¨μΎ κΈ°μ€μΌλ‘, νλ³νμ νλ€κ³ new ν λ ν λΉλ λ©λͺ¨λ¦¬ μμ²΄κ° λ³κ²½λλ건 μλλλ€. μ¨μΎμ μ¬μ©μμ μ ν΄λμ€ λ³μλ C++μ ν¬μΈν°μ ν΄λΉν©λλ€. λ°λΌμ μ°Έμ‘°νλ λ³μμ νμ λ°λμ§ λͺ°λΌλ κ°μ²΄ μ체λ κ·Έλλ‘μ λλ€.
μμΈν λ΅λ³ κ°μ¬λ립λλ€. λ°λ‘ μ΄ν΄κ° λμμ΅λλ€.
κ°μν¨μν μ΄λΈ κ²μ