Index of object-oriented programming articles
This is a list of terms found in object-oriented programming. Some are related to object-oriented programming and some are not.

A
Abstract class
Accessibility
Abstract method
Abstraction (computer science)
Access control
Access modifiers
Accessor method
Adapter pattern
Aspect-oriented

B
Bridge pattern
Builder pattern
Base class

C
Cast
Chain-of-responsibility pattern
Class
Class hierarchy
Class method
Class object
Class variable
Cohesion
Collection class
Composition
Constructor
Container (abstract data type)
Contravariance
Copy constructor
Coupling
Covariance

D
Data-driven design
Data hiding
Default constructor
Deep copy
Delegation
Dependency injection
Destructor
Dispatch table
Dynamic binding, also called Late binding
Dynamic dispatch
Dynamically typed language

E
Early binding
Eigenclass
Encapsulation (computer programming)
European Conference on Object-Oriented Programming
Exception handling
Extension

F
Facade - pattern
Factory method pattern
Factory object
Factory pattern
Field
Finalizer
First-class function
Fragile base class
Function composition

G
Generic programming
God object

H
Heap-based memory allocation
Helper class
Hybrid language

I
Immutable object (also called immutable value)
Information hiding
Inheritance
Initialize
Inline function
Inner class
Instance (computer science)
Instance method
Instance variable (also called data member)
Interaction diagram
Interface
Inversion of control (IoC)
Iterator

L
Late binding
Liskov substitution principle 

M
Member accessibility
Members, any contents of a class: Attributes, Methods, and Inner classes
Message passing
Metaclass
Metaprogramming
Method (computer programming)
Mixin
Mock object
Model–view–controller (MVC)
Modular programming
Multiple dispatch
Multiple inheritance
Multitier architecture
Mutable variable
Mutator method

N
Name mangling
Namespace
Native method
Nested class

O
Object (computer science)
Object type
OOPSLA – annual conference on Object-Oriented Programming, Systems, Languages, and Applications
Open/closed principle
Orthogonality
Overload

P
Package
Parametric overloading
Parameterized classes
Parnas's principles
Partial class
Patterns
Policy-based design
Polymorphic
Primitive data type
, a way of encapsulation in object-oriented programming
Programming paradigm
, a way of encapsulation in object-oriented programming
Protocol
Prototype pattern
Prototype-based programming
, a way of encapsulation in object-oriented programming
Pure polymorphism
Pure virtual function (also called pure virtual method)

R
Rapid application development (sometimes Rapid prototyping)
Recursion
Refinement
Reflection
Responsibility-driven design
Reverse polymorphism
Run-time type information

S
Scope
Shallow copy, as opposed to deep copy
Single responsibility principle
Singleton pattern
Singly rooted hierarchy
Slicing
Specification class, a class implementing abstract class
Stack-based memory allocation
Static method
Statically typed language, as opposed to Dynamically typed language
Strongly-typed programming language
Subclass (also called child class or derived class)
Subclass coupling
SOLID
Substitutability, principle of
Subtype
Superclass (also called parent class or base class)

T
Tiers
Template method pattern
Test-driven development
Trait
Type
Type conversion (also called typecasting)

V
Virtual class
Virtual function (also called virtual method)
Virtual function pointer (also called virtual method pointer)
Virtual inheritance (Object Oriented Programming)
Virtual method table (also called vtable, virtual function table or virtual method table)
Viscosity (programming)
Void type

W
Weak reference

Y
Yo-yo problem

 List
Object-oriented programming terms