Преимущества применения public и protected при разработке библиотек:
Недостатки применения public: необходимость тщательного документирования и поддержания обратной совместимости, так как члены класса становятся доступны для всех других классов в программе. 1
Недостатки применения protected: специфичность случаев применения, так как члены класса, помеченные этим модификатором, будут доступны в пределах того же пакета и во всех классах-наследниках, независимо от того, в каком пакете они находятся. 4
Выбор между public и protected зависит от того, где и как планируется использовать члены класса. 4 Нужно внимательно продумать архитектуру программы и определить, какой уровень доступа необходим для каждого элемента класса. 4