回答編集履歴

2

refine

2015/03/09 04:33

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -24,4 +24,12 @@
24
24
 
25
25
  > ・リフレクションの使用されるケース
26
26
 
27
+ 一部のアプリケーション・フレームワークの実装などで利用されます。特に、"アノテーション"を利用するフレームワークでは高度に活用されています。
28
+
29
+
30
+
27
- 一部のアプリケーション・フレームワークの実装などで利用されます。フレムワークの実装時は、具体的に利用する側のクラスやインターフェイス情報かりませんから、リフレクション機能が必要になります。
31
+ フレームワーク・コの実装時点では、利用側の具体的なクラスやインターフェイスはかりませんから、リフレクション機能が必要になります。
32
+
33
+
34
+
35
+

1

refine

2015/03/09 04:33

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -14,7 +14,11 @@
14
14
 
15
15
 
16
16
 
17
- たとえば、メソッド名や引数/個数などの型情報が一致していないと、コンパイラは不整合をチェックしエラーを報告**してくれます**。一方のリフレクションは単なる文字列としてメソッド名や引数型を処理するので、不整合のチェックをコンパイル時には行えず、実行時になって初めて例外スローされます。
17
+ たとえば、メソッド名や引数/個数などの型情報が一致していないと、コンパイラは不整合をチェックしエラーを報告**してくれます**。一方のリフレクションは単なる文字列としてメソッド名や引数型を処理するので、不整合のチェックをコンパイル時には行えず、実行時になって初めて例外スローされます。(不具合の発覚フェーズが遅れます。)
18
+
19
+
20
+
21
+ 他回答にある`private`を無視なども、このコンパイラ支援(チェック機構)を受けられない/受けなくてすむことを利用したテクニックです。
18
22
 
19
23
 
20
24