الوراثة هي عملية يتم فيها تمرير الخصائص والميزات من الفئة الأساسية إلى الفئات المشتقة منها. ويمكن للفئة الأساسية أن تحتوي على الطرود الشائعة التي يمكنها مشاركتها مع الفئات المشتقة. تشمل الوراثة في Kotlin إنشاء فئة جديدة باستخدام فئة موجودة أو استخدام واجهة لتحقيق مجموعة محددة من الصفات.
أما التعدد في Kotlin فهو قدرة الكائنات على تخصيص سلوك مختلف لأساليب ومتغيرات محددة في نفس الفئة. فعند استخدام التعدد في Kotlin ، يكون من الممكن ان يتم تعريف نسخة مختلفة من الأسلوب الموجود في الفئة الأساسية.