Instantiation refers to the process of creating an object in memory based on a class definition. A class defines attributes and methods that every object of that class will have, while an object is a unique instance of a class with specific attribute values. Encapsulation bundles the state and behavior of an object into a single logical unit. User-defined types in Java are instantiated by using the new keyword to allocate memory for a new object instance. Reference variables are used to refer to and access objects. Objects can also be attributes of other objects, demonstrating composition.
Related topics: