메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C# 프로그래밍

뇌를 자극하는 C# 프로그래밍 질의응답 게시판입니다.

[C# 5.0]인터페이스를 통한 다중 상속 질문입니다

2015-08-21

|

by dkfmwpsxm

1511

질문이 있습니다

class Testclass :Program, IEnumerator 이렇게 다중 상속 받은 경우에


Testclass alpha = new Testclass();
Program beta = new Testclass();
IEnumerator gammar = new Testclass();

이렇게 되면 heap 영역에 Testclass()가 3개 만들어지는 건가요 1개가 만들어지는 건가요?


Testclass()가 1개가 만들어지고 alpha,beta,gammmar 루트가되서 heap으로 찾아가
각각의 자료형에 맞는 만큼  읽어오는 거라면 이해가 되겠는데

Testclass()가 3개가 만들어지는거면 메모리 낭비하는거 아닌가?
하는 생각때문에.. 이렇게 만들거면 뭐하러 다중상속하는거지? 하는 의문이 생기네요

*추가 new가 3번 사용햇으니 인스턴스가 3개 만들어진건 알겠습니다
그렇다면 왜 저렇게 다중 상속하는거죠?

Testclass alpha = new Testclass();
Program beta = new Program ();
이런식으로 딱 필요한 만큼만 인스턴스 만들어야하는게 아닐까 하는 생각이 듭니다

IEnumerator gammar = new Testclass();
인터페이스야 인스턴스를 못가지기 때문에 인터페이스 상속받은 클래스를 통해 인스턴스 만드는건 알겟습니다

다중 상속을 왜 하는지가 의아합니다


제가 완전 헛소리 하는거일수도 잇습니다 비기너라서..
어디에서 무엇을 잘못알고있는지 가르침 부탁드려요
댓글 입력