Abstractやvirtualがどういう動作なのか実装的に把握してから出直してこい