hyperexponential interview question

How do you decide when to use a magic method and when to make an explicit method for your classes/data structures?