protectedなメソッドをpublicでオーバーライドしててエラー

カスタムタグの属性値のsetter/getterでスーパークラスのprotectedなメソッドをpublicでオーバーライドしてる時に見たことも無いエラーが発生しました。setterとgetterの対をチェックしてるみたいでgetterだけpublicでオーバーライドしてしまったためエラーになっていた模様。

このエラー内容をぐぐっても日本語のページは見つからず、英語のページがいくつかあるだけでした。エラーの内容はわけわからなくて、読んだだけじゃ何が原因かワカリマセン…。

両方protectedだと外のクラスからは不可視だからチェックの対象にはならないけど、片方だけpublicだと対をなしてない!と怒られてしまうって所ですかね。

いくら探しても原因が分からなくて、「ピッコーン♪」という閃きに助けられました。あれっ、このメソッドってpublicだったっけ…と。開発環境では発生せず、本番テスト環境へのリリースを完了して一気に出てきたのであせりましたが、無事解決!
修飾子の重要性を再認識したエラーでありました。