Value type vs Reference type