о, нашел какую-то критику сеттеров. Дескать, вдруг ты опечатаешься и вместо person.fullName сделаешь person.fulName - тогда новое поле создастся! а если сделаешь person.setFulName(name) вместо person.setFullName(name) - получишь ошибку
минус сеттера в том, что придется заводить приватное свойство. Но это все равно лучше, чем городить проверки в ngOnChanges