Class is a blueprint that defines the properties and behaviors that objects of that class will have. It represents the state and behavior of specific objects. Constructors are special methods used to initialize objects, and are called when an object is created. Methods define the behaviors of objects and can be user-defined or predefined. The garbage collector automatically reclaims unused memory by destroying unused objects.