Written by Jonas Altrock (ew20b126@technikum-wien.at).
This first exercise is about the basics of classes in Java. The concept of encapsulation is used to motivate us to set our data fields within the classes as private, meaning they cannot directly be accessed from outside the class. We hide the implementation details and only expose a defined set of methods as the interface to do things with the data wrapped inside our objects.
We are asked to implement two classes: MusicLandscape.entities.Track and MusicLandscape.entities.Artist. The Artist class is a simple wrapper around a String naming the artist or band, the Track class is a data class composed of multiple properties, using the Artist class as the type for its performer and writer props.
Aside from the getters and setters for the object properties, we have to implement a more complex function: Track::toString, which formats the information of a track in a very specific format.