티스토리 뷰
공장 (factory)/- Programming..
[Java] Reflection을 활용한 메서드, 필드 값 불러오기.
공부하는 나부랭이, 무중력고기 2021. 1. 22. 19:55동적으로 다른 클래스의 메서드와 필드값을 불러와서 사용해야 하는 경우, Java Reflection을 활용하면 가능하다.
// 메서드------------------------------------------------------------------------- Method getSomethingMethod = ClassName.getClass().getDeclaredMethod("getSomething", String.class); getSomethingMethod.setAccessible(true); // private 함수 접근 허용. String someString = (String) getSomethingMethod.invoke("something"); // 불러올 메서드가 static일 때. Method getSomethingMethod = ClassName.class.getDeclaredMethod("getSomething", MemberVo.class, String.class); // getClass() 대신 class getSomethingMethod.setAccessible(true); // private 접근 허용 String someString = (String) getSomethingMethod.invoke(null, memberVo, "something"); // null //-------------------------------------------------------------------------------- // 필드--------------------------------------------------------------------------- Field pathField = ClassName.getClass().getDeclaredField("urlPath"); if(!pathField.isAccessible()) pathField.setAccessible(true); // private 접근 허용 String pathVal = (String) pathField.get(ClassName.class); // 불어올 필드가 static일 때. Field pathField = ClassName.class.getDeclaredField("urlPath"); if(!pathField.isAccessible()) pathField.setAccessible(true); // private 접근 허용 String pathVal = (String) pathField.get(ClassName.class); //--------------------------------------------------------------------------------
'공장 (factory) > - Programming..' 카테고리의 다른 글
[Java] Reflection을 활용한 메서드, 필드 값 불러오기. (0) | 2021.01.22 |
---|---|
[Python] PIL(Python Image Library) 이미지에 텍스트 넣기. (0) | 2020.04.09 |
[Python] paramiko를 이용한 ssh접속 후 명령어 실행. (1) | 2020.04.09 |
[Python] pyodbc를 이용한 MSSQL DB조회 (0) | 2020.04.09 |
[javascript/jQuery] javascript와 jQuery 비교 정리. (0) | 2020.01.09 |
[javascript/jQuery/bootstrap4] 메시지Modal 커스텀. (0) | 2020.01.09 |
공유하기 링크
- TAG
- Java, Reflection
댓글