-
34. 인터페이스 상속과 구현 상속의 차이를 제대로 파악하고 구별하자.프로그래밍/Effective c++ 2016. 3. 10. 16:40
- 순수 가상함수를 선언한 클래스의 상속을 인터페이스 상속이라 하며, 파생 클래스에게 함수의 인터페이스만을 물려주려는 것이다. 이때 파생클래스는 이 함수를 반드시 정의 해야한다.
- 단순 가상함수의 목적은 파생클래스가 함수의 인터페이스 뿐만 아니라 구현까지 물려받을 수도 있게 하기 위함이다. 이때 물려받은 구현은 재정의도 가능하다. 이를 구현 상속이라 한다.
- 비가상 함수의 선언 목적은 클래스가 함수의 인터페이스및 필수적인 구현을 반드시 물려받게 하기 위함이다.
'프로그래밍 > Effective c++' 카테고리의 다른 글
36. 상속받은 비가상 함수를 파생 클래스에서 재정의 하는 것은 절대 금물 (0) 2016.03.10 35. 가상 함수 대신 쓸 것들도 생각해 두는 자세를 시시때때로 길러 두자. (0) 2016.03.10 33. 상속된 이름을 숨기는 것은 피하자. (0) 2016.03.10 32. public 상속 모형은 반드시 "is-a"를 따르도록 하자. (0) 2016.03.10 31. (incomplete) (0) 2016.03.10 - 순수 가상함수를 선언한 클래스의 상속을 인터페이스 상속이라 하며, 파생 클래스에게 함수의 인터페이스만을 물려주려는 것이다. 이때 파생클래스는 이 함수를 반드시 정의 해야한다.