OOP Fundamentals
Objects, Attributes, Methods, Constructors, Instantiation
Attribute - data item that helps define/describe an object
as opposed to variables in procedural programming
data type should still be specified (String, Integer, Array...)
Class Definition - blueprint defines class/type properties
Instantiation - making specific object from class definition
UML (Unified Modelling Language) - High-level class-diagram, widely used to model OOP Systems; TOP = class name, MIDDLE = class attributes, BOTTOM = class methods
Methods - 'defines behaviour of object', procedures/ functions that modify values of objects' attributes
Constructor - Carry out actions needed when object instance is created (sets initial values, call methods etc.)