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이 없습니다.

관계가 헷갈립니다..

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)