## Core Java Lang OOP - Patterns This module contains articles about Object-oriented programming (OOP) patterns in Java ### Relevant Articles: - [Composition, Aggregation, and Association in Java](https://www.baeldung.com/java-composition-aggregation-association) - [Inheritance and Composition (Is-a vs Has-a relationship) in Java](https://www.baeldung.com/java-inheritance-composition) - [Immutable Objects in Java](https://www.baeldung.com/java-immutable-object) - [How to Make a Deep Copy of an Object in Java](https://www.baeldung.com/java-deep-copy) - [Using an Interface vs. Abstract Class in Java](https://www.baeldung.com/java-interface-vs-abstract-class) - [Should We Create an Interface for Only One Implementation?](https://www.baeldung.com/java-interface-single-implementation) - [How to Deep Copy an ArrayList in Java](https://www.baeldung.com/java-arraylist-deep-copy) - [Stateless Object in Java](https://www.baeldung.com/java-stateless-object) - [Mutable vs. Immutable Objects in Java](https://www.baeldung.com/java-mutable-vs-immutable-objects)