C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[6745] Re:다중상속이 안되어서 불편한게 어떤 것인가요 ?
김백일.cedar [cedar] 1567 읽음    2003-02-06 19:19
civilian 님이 쓰신 글 :
: 다중상속이 안되어서 불편한 것의 실제 사용례를 든다면 어떤 것이 있을까요?
: 뭔가 다른 해결방법이 있을듯 합니다만...

다중 상속은 모든 다세포 생물이 父, 母가 있어야 태어나는 것처럼(음... 복제 생물 빼고요.)
사실 너무나 당연하고 자연스런 개념입니다.
단, 父, 母의 DNA가 유전되는 메카니즘 자체가 복잡한 것처럼,
그 사용 방법이 약간 복잡하고 잘못 쓰면 문제가 발생하는 것과 같습니다.

다중 상속이 되지 않으면 실세계의 모든 문제를 프로그래밍하는 것이 불가능합니다.
이러한 예들로, Herb Sutter가 쓴 "More Exceptional C++"의 "Item 24: Why Multiple Inheritance?"
를 읽어보실 것을 권합니다.

다중 상속의 가장 대표적인 예를 들자면, ANSI C++ 표준 라이브러리에서
가장 많이 사용되는 iostream이 있겠네요.

다음과 같이 istream과 ostream으로부터 상속받는 것이죠.

class  ostream : virtual public ios  { /*..*/ }
class  istream : virtual public ios  { /*..*/ }
class iostream : public istream, public ostream  { /*..*/ }

요새 유행하는 디자인 패턴 중에도 다중 상속에 반드시 의존하는 것이 몇가지 있습니다.

다중 상속이 없는 자바나 오브젝트 파스칼에서는
Observer, Adaptor, Bridge 패턴의 구현이 원칙적으로 불가능합니다.
(된다해도 편법적인 방법밖에는 없죠.)

자세한 것은 다음 참고문헌을 보세요.
"Java vs. C++ - A Critical Comparison," C++ Report, January 1997

+ -

관련 글 리스트
6730 으아아아... 미치겠다. 델파이는 왜 ??!!?? 박정모 2198 2003/02/05
6765     인터페이스의 다중상속에 대해서.. 어린왕자A 3524 2003/02/08
6742     Re:으아아아... 미치겠다. 델파이는 왜 ??!!?? 박지훈.임프 2442 2003/02/06
6749         Re:Re: 아닙니다! 김백일.cedar 1789 2003/02/06
6756             Re:Re:Re: 두분의 말이 모두 맞는 말씀입니다. 그러나... 남병철.레조 1665 2003/02/07
6752             C++... 박지훈.임프 1888 2003/02/07
6754                 박정모의 의견 & 태클 입니다. 박정모 2638 2003/02/07
6763                     Re:다중상속.. ?? 김윤동.제라툴 2139 2003/02/08
6758                     Re: 우선은 ... ㅡㅡa h1800.영화 1369 2003/02/07
6755                     웬 태클입니까 박지훈.임프 1637 2003/02/07
6744         그렇습니까? ... ㅠ.ㅠa 박정모 1621 2003/02/06
6747             PS1,2에 대한 답변입니다. 김백일.cedar 1698 2003/02/06
6748                 class implementation 은 인터페이스의 구현을 지적한 말이었습니다. (냉무) 박정모 2125 2003/02/06
6750                     그러니까 인터페이스 상속이란, 인터페이스만 동일하고 구현은 별도로 해야 한다는 뜻이죠.(냉무) 김백일.cedar 3303 2003/02/06
6751                         interface상속은 구현이 반드시 제공되야 하며, interface는 객체의 메모리 매핑이기도 합니다.(냉무) 박정모 2209 2003/02/06
6739     Re:으아아아... 미치겠다. 델파이는 왜 ??!!?? 정재필 1856 2003/02/06
6732     다중상속이 안되어서 불편한게 어떤 것인가요 ? civilian 1883 2003/02/05
6745         Re:다중상속이 안되어서 불편한게 어떤 것인가요 ? 김백일.cedar 1567 2003/02/06
6746             Re:Re:다중상속이 안되어서 불편한게 어떤 것인가요 ? civilian 1873 2003/02/06
6737         예를 들어 드리려고 이것저것 찾아봤지만... ㅠ.ㅠ 박정모 1613 2003/02/05
6731     이럴땐 정말 C++ builder 쓰고 싶은 마음이 굴뚝 같습니다. 박정모 1730 2003/02/05
6734         궁금한게 있는데요 왜 C++ 빌더로 하면 범용성이 떨어지는지.. 박주현 1598 2003/02/05
6735             음~ 제가 말한 "범용성"이란... 박정모 2160 2003/02/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.