Java is an Object-Oriented Programming Language:

Instance = Object of a class

An object is a variable of a data type that is user-defined

State: data associated with the object, like width and height of a rectangle

Behavior: something that uses the data, like are and perimeter

A class is a template that holds information about what an objects state and behavior can be
Ex.
You make a class that creates rectangles, but they have to have a width and height to be made

The class is the template
The object is the template but filled out

A class has an initial cap AKA is UPPERCASE for the first letter
Ex. Rectangle, Oval, Pizza, etc.

The class ends up being a new data type, so instead of int or double it is the class name
And you also need the word “new” in front
Here you instantiate an object AKA you make an instance of it
Ex.
Oval ovalA = new Oval(50, 20, 30, 100)

Public: everyone can use it

Private: only you can assign what width is and what height is

Instance variables: the variables that are defining the object, and they are private
Ex.
Width and height
When creating the variables, you declare them, you DON’T initialize.