> 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