diff --git a/include/aidge/learning/optimizer/SGD.hpp b/include/aidge/learning/optimizer/SGD.hpp
index 854918a60f255826e156fb443930c8db697afc89..2f77281500b5f92c52146c60652f94530d12574c 100644
--- a/include/aidge/learning/optimizer/SGD.hpp
+++ b/include/aidge/learning/optimizer/SGD.hpp
@@ -52,7 +52,7 @@ public:
         mReversedDampening.set<float>(0, 1.0f - dampening);
     }
 
-    void update() override {
+    void update() override final {
         mLR.setBackend(mParameters[0]->getImpl()->backend());
         mLR.set<float>(0, learningRate());
         if (mParameters[0]->getImpl()->backend() != mMomentum.getImpl()->backend()) {
@@ -74,7 +74,7 @@ public:
         mLRScheduler.update();
     }
 
-    void setParameters(const std::vector<std::shared_ptr<Tensor>>& parameters) {
+    void setParameters(const std::vector<std::shared_ptr<Tensor>>& parameters) override final {
         Optimizer::setParameters(parameters);
         mGradientInertia = std::vector<Tensor>(parameters.size());
         for (std::size_t i = 0; i < parameters.size(); ++i) {