Comment by rom1v
11 hours ago
> The difference in the code is exactly one word: value.
What is unclear to me is why the decision to use a Point instance as a value or as a reference is made in the class definition rather than by the caller.
> Point[] point = new Point[10];
For the same class, I might need an array of values in one place and an array of references elsewhere within the same codebase.
What about the case of just needing one, not a collection? And when a function receives a Point, how does it know if it's a value or a reference?