オーバライドと隠蔽の違いがよくわかってません。
エスパーしてください。

クラスを継承して、クラスのフィールドやメソッドを再度定義した場合、Javaでは確実にオーバライドっていう、というのは問題ないのでしょうか?

この場合でも、継承元となったクラスの変数を宣言して、それにサブクラスのインスタンスを代入すると、継承元のフィールド・メソッドにアクセスできますよね?
こういうのはオーバライドって言わないで、隠蔽って言うっても聞きました。

では一体オーバライドというのは何なのですか?
abstructを実装したときだけオーバライドなのですか?