왜 그럴까?
쉽게 풀면, 모두다 이렇게 숙지하고 사용하기 때문이다. 이 모두 다 는 C++ 역시 마찬가지여서 이렇게 해야만 한다, (유들있게 한다면, 뭐 대충 해도 되겠지만)
이 의미는 어떤것을 지니게 될까?
학생 is a 사람, 하지만 사람 is a 학생 은 되지 않는것이다. C++로 풀자면 "상속받은 녀석은 상속해준 녀석이 될수 있지만, 상속해준 녀석은 상속받은 녀석이 될수 없다"는것이다. 그렇기 때문에, 이런 오류를 하지 말라고 필자는 강하게 말하고 있다. 왜냐하면 이런 오류가 C++의 엄청난 기능인 "다향성" 기능을 사용할 때 쉽게 범하는 오류이기 때문이다.
그렇다고 현실에 있는것이 바로 이런것들을 적용할수는 없다. 대표적인 예가 정사각형은 직사각형의 일종이지만, 정사각형이 직사각형을 상속하는 형태는, 코드 설계가 오히려 복잡해 진다고 필자는 설명한다. 자, 왜 C++ 개발자가 돈을 많이 버는지, 나타내는 구절이다. ㅋㅋ
이것만은 잊지 말자!
1. public 상속의 의미는 is-a이다!
예시 코드
관련링크
http://ikpil.tistory.com/335
http://kldp.org/node/42335
http://yatoyato.tistory.com/1094
http://yatoyato.tistory.com/1105
쉽게 풀면, 모두다 이렇게 숙지하고 사용하기 때문이다. 이 모두 다 는 C++ 역시 마찬가지여서 이렇게 해야만 한다, (유들있게 한다면, 뭐 대충 해도 되겠지만)
이 의미는 어떤것을 지니게 될까?
학생 is a 사람, 하지만 사람 is a 학생 은 되지 않는것이다. C++로 풀자면 "상속받은 녀석은 상속해준 녀석이 될수 있지만, 상속해준 녀석은 상속받은 녀석이 될수 없다"는것이다. 그렇기 때문에, 이런 오류를 하지 말라고 필자는 강하게 말하고 있다. 왜냐하면 이런 오류가 C++의 엄청난 기능인 "다향성" 기능을 사용할 때 쉽게 범하는 오류이기 때문이다.
그렇다고 현실에 있는것이 바로 이런것들을 적용할수는 없다. 대표적인 예가 정사각형은 직사각형의 일종이지만, 정사각형이 직사각형을 상속하는 형태는, 코드 설계가 오히려 복잡해 진다고 필자는 설명한다. 자, 왜 C++ 개발자가 돈을 많이 버는지, 나타내는 구절이다. ㅋㅋ
이것만은 잊지 말자!
1. public 상속의 의미는 is-a이다!
예시 코드
class Car { // 이건 Car에 대한 클래스이고 }; class Jeep : public Car { // Jeep 차이긴 하나 좀더 특화된 차이기 때문에 차를 상속하고 Jeep 구현한다. // Car 는 Jeep 아니라 오로지 Car 일 뿐이다. // 하지만 Jeep는 Car 이기도 하고 Jeep 이기도 하다! };
관련링크
http://ikpil.tistory.com/335
http://kldp.org/node/42335
http://yatoyato.tistory.com/1094
http://yatoyato.tistory.com/1105
'책 정리 > Effective C++ 3판' 카테고리의 다른 글
항목 37: 어떤 함수에 대해서도 상속받은 기본 매개변수 값은 절대로 재정의 하지 말자. (0) | 2008.07.16 |
---|---|
항목 36 : 상속받는 비가상 함수를 파생 클래스에서 재정의 하는 것은 절대 금물! (1) | 2008.07.14 |
항목 35: 가상 함수 대신 쓸 것들도 생각해 두는 자세를 시시때때로 길러 두자. (0) | 2008.07.14 |
항목 34: 인터페이스 상속과 구현 상속의 차이를 제대로 파악하고 구별하자. (0) | 2008.07.09 |
항목 33: 상속된 이름을 숨기는 일은 피하자 (4) | 2008.07.02 |
항목 31: 파일 사이의 컴파일 의존성을 최대로 줄이자 (0) | 2008.07.02 |
항목 30: 인라인 함수는 미주알고주알 따져서 이해해 두자 (0) | 2008.07.01 |
항목 29: 예외 안전성이 확보되는 그날 위해 싸우고 또 싸우자! (0) | 2008.07.01 |
항목 28: 내부에서 사용하는 객체에 대한 '핸들'을 반환하는 코드는 되도록 피하자. (0) | 2008.06.28 |
항목 27: 캐스팅은 절약, 또 절약! 잊지 말자. (0) | 2008.06.26 |
최근댓글