abstraction mechanisms: classes and operator overloading
class/object - applications
counter
student