20.

Decorator pattern is used to provide a way of dynamically attaching new state and
behavior to an object.

Decorator pattern takes an existing object and adds to it. It inherits the original class and contains an instantiation of it.