###前提・実現したいこと
final修飾子についての理解確認。
###概要
final修飾子に関しては、変数・メソッド・クラスにつけることができ、
変数に関しては、定数化し、再代入をさせないということで、メリットを理解しています。
メソッド・クラスに関しては、finalをつけることにより、オーバーライド・継承をさせないためにつけるものだと思います。
オーバーライドをさせないということを実際のコーディングでのメリットとしてかみ砕くと、もしfinalを付けない、class A を継承した以下3つのクラスの
b.exe()
c.exe()
d.exe()
を読みとく場合にb,c,dの中身のふるまいを各々読まないといけない。
しかしながら、このメソッドがfinalがついていれば、一つのメソッドを読むだけでいい。というメリットだと思います。
###質問
①上記以外に継承・オーバーライドできないというメリットが具体的事例でありますか?
また、上記Aのクラスを継承ではなくnewした場合は当然、私が上げたような読むのが楽というメリットもないと思いますので、継承した場合のみメリットを享受できるということですよね?
②クラスにつけた時点で継承できないため、そのクラス内メソッドにはfinalをつける必要はないという認識で合ってますか
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。