Modeling entities in the real world require you to create custom classes to add to the various built-in classes already provided by Java. Creating such custom classes is key to harnessing the power of object-oriented programming (OOP) in Java. This course focuses on defining such custom classes and then creating objects. Make the most of this course by exploring custom classes, the use of constructors, and modifiers such as private and public. You will also learn the idiomatic Java method of working with getter and setter methods as well as conventions in naming, input parameters, and return types from such methods. After completing this course, you'll not only be able to define custom classes to serve as types in your programs but also instantiate and use objects of these custom classes.