https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
## Access Modifiers
```
+-------------------------+---------+---------+-----------+--------+
| | default | private | protected | public |
+-------------------------+---------+---------+-----------+--------+
|same class | Y | Y | Y | Y |
+-------------------------+---------+---------+-----------+--------+
|same package subclass | Y | N | Y | Y |
+-------------------------+---------+---------+-----------+--------+
|same package non-subclass| Y | N | Y | Y |
+-------------------------+---------+---------+-----------+--------+
|diff package subclass | N | N | Y | Y |
+-------------------------+---------+---------+-----------+--------+
|diff package non-subclass| N | N | N | Y |
+-------------------------+---------+---------+-----------+--------+
```