こういう認識の齟齬を生みやすいこと自体が
オブジェクト指向の欠陥

まず分かりにくい思想があって
その思想の解釈が人によってバラバラで
コードで表現すると思想と辻褄が合わない部分が出てきて
その辻褄の帳尻を合わせるためにコーディング仕様追加して
コードがやたら汚くなっていく

そしてそもそもの思想を何も知らない初心者が
帳尻合わせの部分だけを真似して覚える
なんのためなのかも分からずに

じゃそもそもそんな思想要らなかったよね。
って言いたくなってくる。