think it is best to stay with the normal OOP constructor as in new Person(15);. However, I could see your static method being useful if you wanted to be able to load persons by different means, such as id, name, email, etc. Then you could have a getPersonById, getPersonByName, getPersonByEmail all returning self. – Devon 3 mins ago