I researched the Key Word Virtual and found that it allows an object's method to be overwritten. I also looked at ICollection and learned of the two options to implement it. So, if I saw someone create an Object say:
public class Lecture:
and I had the two methods for it:
public virtual ICollection<Attendance> AttendanceList { get; set; }
public virtual Room Room { get; set; }
What could these two methods be telling me?