回答編集履歴
2
refine
answer
CHANGED
@@ -20,5 +20,5 @@
|
|
20
20
|
|
21
21
|
ご指摘の通りenumやジェネリクスは、型に関する例外送出やプログラム不整合を避けるために、コンパイル時の型検査が可能な仕組みとして導入されました。
|
22
22
|
|
23
|
-
- enumは相関の無い列挙値を、型として区別できるようにする仕組みです。型安全性が向上します。(多態性には寄与しません)
|
23
|
+
- enumは相関の無い列挙値を、型として区別できるようにする仕組みです。型安全性が向上します。(多態性には直接寄与しませんが、関数オーバーロードによるアドホック多相と組み合わせることはできます。)
|
24
|
-
- ジェネリクスにより、共通の振る舞いを持つが型の一部が異なるという仕様を、コンパイル時に型検査できる
|
24
|
+
- ジェネリクスにより、共通の振る舞いを持つが型の一部が異なるという仕様を、コンパイル時に型検査できるようになります。ここでも多態性(正確にはパラメトリック多相)と型安全性が両立しています。
|
1
append
answer
CHANGED
@@ -18,4 +18,7 @@
|
|
18
18
|
> 型安全は型によって、安全を担保しようという考え方で、enumやジェネリクスもこれに当たります。
|
19
19
|
> enumによって、ある型に入れることのできる候補というのは制限することができますし、ジェネリクスも同様で、ArrayList<String>だとString型しか入りません。
|
20
20
|
|
21
|
-
ご指摘の通りenumやジェネリクスは、型に関する例外送出やプログラム不整合を避けるために、コンパイル時の型検査が可能な仕組みとして導入されました。
|
21
|
+
ご指摘の通りenumやジェネリクスは、型に関する例外送出やプログラム不整合を避けるために、コンパイル時の型検査が可能な仕組みとして導入されました。
|
22
|
+
|
23
|
+
- enumは相関の無い列挙値を、型として区別できるようにする仕組みです。型安全性が向上します。(多態性には寄与しません)
|
24
|
+
- ジェネリクスにより、共通の振る舞いを持つが型の一部が異なるという仕様を、コンパイル時に型検査できる仕組みです。ここでも多態性(正確にはパラメトリック多相)と型安全性が両立しています。
|