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

Index of object-oriented programming articles

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

Index of object-oriented programming articles

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) European Conference on Object-Oriented Programming Exception handling Extension

Index of object-oriented programming articles

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