Both ref and out are used when we want to pass paremeters to a method and allow that method to read and modify data.
ref tells the compiler that the object is initialized before entering the function, while
out tells the compiler that the object will be initialized inside the function.
ref is two-ways,
out is out-only.