대부분 다형성하면 가장 먼저 생각하는게 런타임 다형성인 Virtual을 생각하죠.
제가 잘못 알고 있는 지는 모르겠지만 컴파일타임에 형태가 결정되는 Template도 다형성의 일부아닌가요???
----------------------------------------------------
가장 심플한 것이 가장 아름다운 것이다.
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
제 경우에 동일한 질문을 두번 받았는데, 한번은 SE하시는 교수님께서 물어보셨는데,
제가 동일한 이름으로 서론 다른 파라미터들을 처리할 수 있다는 식으로 말하니
고개를 끄덕하시면서 다른 질문을 하셨는데,
PL하시는 교수님은 당장 그게 다는 아니라고 제말을 자르시더군요...
나중에 어떤 책을 보니 다형성 (polymorphism)에는 세가지 유형이 있는데
- parametric polymorphism
- subtyping polymorphism
- ad-hoc polymorphism
흔히들 쉽게 말하는 C++의 다형성은 ad-hoc polymorphism, 즉 overloading에 관한것이고,
lovemyin님의 template은 parametic polymoprhism에 관한 것이라더군요.
runtime시의 virtual은 subtyping polymorphism (late binding)에 해당되겠군요.
만약 제가 어머니한테 C++ 다형성에 관해 말하라면,
"어머니, 제가 용돈을 달라고 아버지께 말씀드리면 만원을 주시는데,
어머니께 달라고 하면 꿈밤을 맞지요. 이처럼 상황에 따라서 동일한 요청이
다른 일을 하는 것을 C++의 다형성이라고 합니다."
나왈 : 우걱우걱 ...
엄마왈 : 근데 엄마는 잘 모르겠다...이해가 어렵네....
나왈 : 그래? 엄마도 나를 낳은거고 아빠도 나를 낳은거자나.....낳는건 같은데 방법은 다르지?
엄마왈 : .......ㅠㅠ.....(애가 벌써 어른이 됐네..)....밥이나 먹고 빨리 학교가....
그렇습니다...나를 낳는다는 개념은 같은데 엄마랑 아빠랑 그 방법이 달랐던것입니다...음양의 조화라고나 할까요 ...
어머님께서
어머님께서 자식들에게 식사하라고 지시하면, 자식들마다 식사방법(오른손/왼손등.)은 다를지라도 식사는 가능하다는걸 예로 설명해드리면 적절할까요?
=================================
나비아빠
=================================
나비아빠
ㅋㅋ
ㅋㅋ 재미있네요...
--------------------------------------------------------
가장 심플한 것이 가장 아름다운 것이다.
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
서랍이든 금고이든 방문이든
나: "어머니!! 서랍이든 금고이든 방문이든 연다는 건 똑같은 거에요.
단지 뭘 여는지에 따라 여는 방법은 다른 것이겠지만요. 그런걸 다 연다 라고 하지요."
어머니: "네가 지금 나를 놀리는 것이냐?"
올리신 글들을
대부분 다형성하면 가장 먼저 생각하는게 런타임 다형성인 Virtual을 생각하죠.
제가 잘못 알고 있는 지는 모르겠지만 컴파일타임에 형태가 결정되는 Template도 다형성의 일부아닌가요???
----------------------------------------------------
가장 심플한 것이 가장 아름다운 것이다.
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
그러네요...
제 경우에 동일한 질문을 두번 받았는데, 한번은 SE하시는 교수님께서 물어보셨는데,
제가 동일한 이름으로 서론 다른 파라미터들을 처리할 수 있다는 식으로 말하니
고개를 끄덕하시면서 다른 질문을 하셨는데,
PL하시는 교수님은 당장 그게 다는 아니라고 제말을 자르시더군요...
나중에 어떤 책을 보니 다형성 (polymorphism)에는 세가지 유형이 있는데
- parametric polymorphism
- subtyping polymorphism
- ad-hoc polymorphism
흔히들 쉽게 말하는 C++의 다형성은 ad-hoc polymorphism, 즉 overloading에 관한것이고,
lovemyin님의 template은 parametic polymoprhism에 관한 것이라더군요.
runtime시의 virtual은 subtyping polymorphism (late binding)에 해당되겠군요.
만약 제가 어머니한테 C++ 다형성에 관해 말하라면,
"어머니, 제가 용돈을 달라고 아버지께 말씀드리면 만원을 주시는데,
어머니께 달라고 하면 꿈밤을 맞지요. 이처럼 상황에 따라서 동일한 요청이
다른 일을 하는 것을 C++의 다형성이라고 합니다."
-- 너무 단순화해서 위험하기는 하지만 어머니한테 잘난척한다고 맞기는 싫고...--;;;
진공청소기
같은 진공청소기를 사용해서 "청소"를 하더라도 마루바닥과 카펫, 좁은 틈을 청소할 때 앞부분을 바꿔서 청소하는 것 처럼
같은 역할을 수행하는 과정임에도 들어오는 것의 형식이 달라도 처리할 수 있게 하는 기능이라고 설명하겠습니다.
아니면 헤어드리이기 꼬다리 바꿔 끼는 것, 110/220 봍트 꼬다리 등으로 설명했을 듯 합니다.
저는요
엄마왈 : 뭐하니?
나왈 : C++에서 다형성이라는게 있어서 공부하고 있어요...
엄마왈 : 다형성이라는게 뭐니..
나왈 : 엄마 난 엄마가 낳았어 아니면 아빠가 낳았어?.. ㄱ-;........
엄마왈 : 예가 왠 동문서답....엄마 아빠한테서 같이 태어낳지.....
나왈 : 음.......응...그게 다형성이래....
엄마왈 : 된장 다 끓었다... 나와서 밥먹어라.....
이렇게 해석합니다....
나왈 : 우걱우걱 ...
엄마왈 : 근데 엄마는 잘 모르겠다...이해가 어렵네....
나왈 : 그래? 엄마도 나를 낳은거고 아빠도 나를 낳은거자나.....낳는건 같은데 방법은 다르지?
엄마왈 : .......ㅠㅠ.....(애가 벌써 어른이 됐네..)....밥이나 먹고 빨리 학교가....
그렇습니다...나를 낳는다는 개념은 같은데 엄마랑 아빠랑 그 방법이 달랐던것입니다...음양의 조화라고나 할까요 ...
엄마: 얘야 C++의
엄마: 얘야 C++의 다형성이란게 뭐냐..
나 : 어..그거... 엄마는 몰라도되.
----------------------------------------------------------------------------
댓글 달기