> See also: > - [[Java]] # Object Oriented Programming ## Classes The **current instance** of a class is often accessed using a keyword: - Java uses `this.[attribute]` - Python uses `self.[attribute]` `private` vs `public` ### Constructors Constructors are used to initialize objects - [ ] In python, `__init__` is the constructor ### Methods A static method can be called regardless of if there is an instance of the object A private (class) method can only be called on instances of the object ```python class Student(): def __init__(self) ``` ```java class Student { public Student (/* Initialized Input */) { } } ``` **Polymorphism:** a **Inheritance:** a **Abstraction:** a