デザインパターンとかまだ勉強してないんだけど、クラスとかインターフェースとか継承とかで共通の動作を保証しつつ、中身はオブジェクトによって変えてくみたいな理解なんだけど合ってる?