This is a list of terms found in object-oriented programming.

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
  • Contravariance
  • Copy constructor
  • Coupling
  • Covariance

D

  • Data-driven design
  • Data hiding
  • Default constructor
  • Deep copy
  • Delegation
  • Dependency injection
  • Destructor
  • Dispatch table
  • Dynamic binding
  • Dynamic dispatch
  • Dynamically typed language

E

  • Early binding
  • Eigenclass
  • Encapsulation (computer 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
  • Mock trainwreck
  • 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
  • Reflective programming (reflection)
  • Responsibility-driven design
  • Reverse polymorphism
  • Run-time type information

S

  • Scope
  • Shallow copy, in contrast 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
  • Static typing, in contrast to dynamic typing
  • Strong and weak typing
  • Subclass (also called child class or derived class)
  • Subclass coupling
  • SOLID
  • Substitutability, principle of
  • Subtype
  • Superclass (also called parent class or base class)

T

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

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