Nejprve si pojem generičnost, generický objasníme pomocí jeho užití v jiných oblastech. Jako jeho synonyma Meriam-Webster Online Thesaurus uvádí obecný, univerzální a jako jeho antonymum specifický.
Zajímavé je použití pojmu generický v metafyzice, epistemologii a logice, kde jde o obecnou kategorii, jako vlastnost nebo vztah, považovanou za rozdílnou od věcí, které jsou její instancí anebo příkladem. Jde o to, co jsou takové kategorie. Existuje taková vlastnost jako červený nezávisle na jednotlivých červených věcech nebo existuje jenom v jednotlivých věcech, které jsou jejími příklady? Můžeme říct, že vlastnost věcí být červené, je odvozená od generické vlastnosti červený? Poznamenejme, že těmito otázkami se zabývali již staří Řekové.
Vrátíme-li se k problematice datových typů a algoritmů, zatím jsme například zásobník museli implementovat znovu, potřebovali-li jsme ho pro ukládání prvků jiného typu. Podobně algoritmy řazení jsme implementovali pro specifický typ klíče, int. Bezpochyby z důvodů efektivnosti tvorby programů, tj. náročnosti na práci na jejich napsání a odladění, by genericky implementované datové typy a algoritmy byly velice užitečné.
Můžeme tedy parafrázovat původní otázku. Musíme pro nový typ prvku psát novou konkrétní implementaci nebo máme prostředky pro generickou implementaci datových struktur a algoritmů? Jinými slovy, umíme implementovat generické datové struktury a algoritmy pro obecné prvky a z nich odvodit iplementace pro konkrétní typ prvků? Odpověď je kladná.
Koncepčně vycházíme z odpovědi na otázku vztahu mezi obecným a specifickým v kontextu zobrazování světa implementovaného v programech. Z obecného pojmu lampa, od které řekněmě požadujeme, aby vydávala světlo, lze odvodit specifické lampy přidáním dalších vlastností. Například stropní musí mít možnost upevnění na strop, stojací musí umět stát, přitom původní vlastnost si zachová, říkáme že ji zdědí. Podobně můžeme mít od obecného pojmu auto odvozené speciálnější, například osobní auto a nákladní auto. Navíc takováto specializace může pokračovat: auto - nákladní auto - kamión.
Stejná koncepce je v různých formách podporována v objektově orientovaných programovacích jazycích a to dokonce již od jazyka SIMULA 67. Z jistého nadhledu můžeme říct, že třída je opisem vlastností a vzathů pro její instance - objekty. Speciálnější objekty pak musíme opsat novou třídou, odvozenou od původní třídy tak, že zdědí vlastnosti a vztahy původní třídy. Nová třída bude mít další vlastnosti, ale její instance budou tvořit podmnožinu všech instancí původní třídy a budeme je říkat podřída.