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

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[6747] PS1,2에 대한 답변입니다.
김백일.cedar [cedar] 1696 읽음    2003-02-06 20:03
박정모 님이 쓰신 글 :
:
:
: 기능이 있는데도 필요성을 못느끼거나, 너무 어려워서 사용을 자제한다면 없어져도 좋을
: 기능 일겁니다. c++에는 있지만 c#이나 java가 지원하지 않는것이 다중상속 만은 아니죠.
:
: 저 역시 다중상속과 멤버 클래스가 왜 다른지 잘 이해하지 못하던 때가 있었습니다.
:
: 없어질 기능은 빨리 사라지는게 좋겠죠... ^.^
:
: ps : 혹시 차기나 미래의 c++ builder에서 다중상속을 지원않는다는 얘기가 있습니까?
:      그러면 안돼는데... 다중상속 꼭 필요한데... ㅠ.ㅠ

C++Builder가 아니라 ANSI C++에서 다중 상속이 계속 지원될 것인가를 알아보시면 됩니다.
이건 C++의 창시자인 Bjarne Stroustrup의 홈페이지에 가면 금방 알 수 있죠.
http://www.research.att.com/~bs/bs_faq.html
위에 FAQ에 따르면, C++ 특유의 다중 상속, 예외(exception), 템플릿(template), 실행 시간 型 판별(run-time type identification; RTTI)등의 기능은 더 개선할 가능성은 계획은 있지만, 앞으로 삭제될 계획은 없다고 합니다.

: ps2 : 인터페이스는 class implementation과 관련이 있지 않습니까? 그거라면 별로 쓰고
:       싶지 않습니다.

상속(inheritance)은 부모 클래스의 구현(implementation)을 상속하는 '구현 상속(implementaion inheritance)'과, 인터페이스만을 상속하는 '인터페이스 상속(interface inheritance)'이 있습니다. C++은 이 두가지를 문법적으로 명확히 구분하지 않은 것이고(C++의 단점 중 하나죠.), 자바나 델파이는 명확히 구분해 둔 겁니다. (C++에서 인터페이스와 같은 것을 만들려면 pure abstract base class를 만들면 되지요: 모든 멤버 함수가 pure virtual이고, 멤버 데이터가 없는 클래스) 자바나 델파이는 interface를 사용해서 다중 상속을 흉내내지만, 이것은 인터페이스 상속만 가능할 뿐 구현 상속이 불가능한 약점이 있는 겁니다.

: 박지훈.임프 님이 쓰신 글 :
: : 글쎄요.. 긁적긁적...
: : 다중상속은 C++ 개발자들조차 거의 쓰지 않는 죽은 기능이나 마찬가지입니다.
: : 물론 일단 있는 기능이라면 어떤 식으로든 활용하는 사람도 아주 없지는 않겠지만, 개발 뿐 아니라
: : 유지보수까지 힘들어지기 때문에 다중상속은 안쓰는 것이 오래전에 대세로 굳어졌죠.
: :
: : 자바나 C#이 다중상속을 지원하지 않는 것은 기능을 추가하기 힘들어서가 아니라, 다중상속이
: : 그다지 많이 필요하지 않고 문제를 많이 일으키기 때문이지요.
: : 아마 볼랜드에 요구한다고 해도... 콧방귀도 안뀔 겁니다. ^^;;
: :
: : 어떤 이유로 다중상속이 필요한지 모르겠습니다만, 어린왕자님이 말씀하셨듯이 인터페이스를
: : 이용해서 다중상속을 구현해보는 것도 좋을 것 같습니다. 인터페이스 다중상속의 예는 VCL의
: : 소스코드를 보시면 줄줄이 나오죠. 클래스와 인터페이스를 상속받아 하나의 새 클래스를 정의하는
: : 겁니다.
: :
: : 그럼...
: :
: :
: : 박정모 님이 쓰신 글 :
: : :
: : :
: : : 왜 델파이는 다중 상속을 지원안하는 겁니까?
: : : 컴파일속도 좀 느려져도 괜찮은데, 문법이 까다로워져도 상관없는데,
: : : Pascal언어 확장팩으로 라도 좋으니까 제발 다중 상속좀 지원해줬으면...
: : :
: : : 정말 미치겠네요. 깊이 있는 클래스 설계할 때마다 부딪히는게 다중
: : : 상속입니다. 다중상속 지원안해서 해야하는 이 노가다의 버거움이여... ㅠ.ㅠ
: : : 서로 다른 클래스에 같은성질의 멤버함수 만들고 또 만들고~
: : :
: : : 박지훈씨... 박지훈씨 힘 있으니까 볼랜드에다가 제안좀 해주십시요.
: : : 언어 확장팩으로라도 다중상속 지원하게 해달라고.
: : :
: : : 다중상속을 위한 Pascal언어 확장팩이 나오면 100만원 한다고 해도
: : : 사서 쓰겠습니다.
: : :
: : : 그러지말고 C++ Builder 쓰라고요? 저도 C++ Builder쓰고 싶습니다. 그런데
: : : C++ Builder로 만들어 놓으면 아무래도 범용성이 떨어지니까... ㅠ.ㅠ
: : :
: : :

+ -

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