C# 상속이지만 언어에 구애X, 상속의 개념
조회수 603회
class Base
{
public string Name = "Base";
}
class Derived : Base
{
public void Log()
{
Console.WriteLine("Name : {0}", this.Name);
}
}
텍스트상, 기반 클래스의 모든 것 메소드와 변수등을 물려받는다 OK 이해가 갑니다. 상속에서 '물려받는다'라는 의미를 정확히 무슨 뜻인지 모르겠습니다.
소스코드상은 물려받는게 보이진 않지만, 기반 클래스 Base의 모든 메소드와 변수등을 그대로 복사해서 독립적으로 파생 클래스인 Derived 가 가진다는 의미인가요 ?
Base : Name Derived : Name 이렇게 독립적으로 존재하게 되는건가요 ?
아니면 파생 클래스를 생성하면 기반 클래스가 생성자가 호출되어 생성되어지게 되는데 이떄, 그냥 백그라운드로 부모클래스를 두고 물려받은척 쓰는건가요 ?
컴파일러를 통해 Base.Name은 당연히 Base.Name이 출처로 나오구요. Name도 당연히 Base.Name으로 나오구요.
this.Name에 마우스를 올려보면 Base.Name이라고 나옵니다. 어떻게보면 이해가 가지만, this는 Derived를 가르키게되는데 Derived에는 Name이 없습니다.
관계가 헷갈립니다..
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력