사용자 도구

사이트 도구


java:reflection

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
다음 판 양쪽 다음 판
java:reflection [2014/06/21 23:57]
kwon37xi 새로 만듦
java:reflection [2020/11/05 10:19]
kwon37xi
줄 1: 줄 1:
 ====== Java Reflection ====== ====== Java Reflection ======
   * [[http://tutorials.jenkov.com/java-reflection/index.html|Java Reflection Tutorial]]   * [[http://tutorials.jenkov.com/java-reflection/index.html|Java Reflection Tutorial]]
 +  * [[http://www.javacodegeeks.com/2014/11/java-reflection-api-tutorial.html|Java Reflection API Tutorial]]
 +
 +===== Field/Method 선언 순서 =====
 +  * 필드와 메소드의 선언 순서대로 리플렉션에서 값을 읽을 수 없다.
 +  * 일반적으로 우연히 선언 순서대로 Field 목록 과 Method 목록을 얻을 수 있는 것 처럼 보이지만, 언제 뒤틀릴지 모르므로 신뢰해서는 안된다.
  
 ===== Accessing Private Field ===== ===== Accessing Private Field =====
줄 13: 줄 18:
 String fieldValue = (String) privateStringField.get(privateObject); String fieldValue = (String) privateStringField.get(privateObject);
 System.out.println("fieldValue = " + fieldValue); System.out.println("fieldValue = " + fieldValue);
-</ocde>+</code>
  
 ===== Accessing private method ===== ===== Accessing private method =====
줄 30: 줄 35:
 </code> </code>
  
 +===== Class.isAssignableFrom() =====
 +''A.class.isAssignableFrom(B.class)''는 ''A a = new B()''가 가능한지를 묻는 것이라고 보면된다.
 +<code java>
 +assertThat(Serializable.class.isAssignableFrom(String.class)).isTrue();
 +assertThat(String.class.isAssignableFrom(Serializable.class)).isFalse();
 +</code>
java/reflection.txt · 마지막으로 수정됨: 2023/11/30 14:53 저자 kwon37xi