Notice
Recent Posts
Recent Comments
Link
투케이2K
371. (java/자바) [간단 소스] Class getDeclaredMethods 사용해 메소드 Method 파라미터 및 리턴 정보 확인 - Name , ReturnType 본문
Java
371. (java/자바) [간단 소스] Class getDeclaredMethods 사용해 메소드 Method 파라미터 및 리턴 정보 확인 - Name , ReturnType
투케이2K 2026. 7. 6. 14:56728x90
반응형
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java

[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 구분 : 간단 소스 / Class / Method
- 사전) 👉 getDeclaredMethods 간략 설명 :
>> getDeclaredMethods 는 클래스에 직접 선언된 모든 메서드를 가져옵니다.
>> getDeclaredMethods 특징
- ✅ public 조회 가능
- ✅ private 조회 가능
- ✅ protected 조회 가능
- ✅ default(package-private) 조회 가능
- ❌ 부모 클래스의 메서드는 포함 안됨
- 사전) 👉 getMethod 간략 설명 :
>> getMethod 는 지정한 이름과 파라미터를 가진 public 메서드 1개를 가져옵니다.
>> getMethod 특징
- ✅ public만 조회
- ✅ 부모 클래스까지 조회
- ❌ private 조회 불가
- ❌ protected 조회 불가
- 사전) 👉 getParameterTypes 간략 설명 :
>> getParameterTypes 는 Method 객체로부터 파라미터 타입 목록을 가져옵니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
appExplanationButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
S_Log._W_(ACTIVITY_NAME + " : appExplanationButton : 테스트 동작 수행", null);
try {
// ------------------------------------------------
// TODO 특정 클래스에 포함 된 메소드 정보 확인
// ------------------------------------------------
// TODO 로그 예시 출력
// ------------------------------------------------
//I/System.out: Method Name : setKeySetPreference / Return Type : void
//I/System.out: setKeySetPreference : Input Params : boolean
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : java.lang.String
//I/System.out: setKeySetPreference : Input Params : int
// ------------------------------------------------
Class className = A_Test_Activity_Start.class; // 정보를 확인하려는 특정 클래스 지정
for (Method m : className.getDeclaredMethods()) {
String methodName = m.getName();
System.out.println("Method Name : " + methodName + " / " + " Return Type : " + m.getReturnType()); // 메소드 명칭 정보 확인
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { // 버전 체크
for (Parameter p : m.getParameters()) {
System.out.println(methodName + " : Input Params : " + p.getType().getName());
}
}
}
}
catch (Exception e){
e.printStackTrace();
}
}
});
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
▶️ 88. (java/자바) 메소드 개념 설명
https://kkh0977.tistory.com/98
https://blog.naver.com/kkh0977/222199283429?trackingCode=blog_bloghome_searchlist
▶️ 72. (java/자바) 접근 제어자 설명 (private, public, default, protected)
https://kkh0977.tistory.com/78
https://blog.naver.com/kkh0977/222197257207?trackingCode=blog_bloghome_searchlist
▶️ 113. (java/자바) 추상클래스, 인터페이스 개념 설명 (abstract, interface)
https://kkh0977.tistory.com/146
https://blog.naver.com/kkh0977/222203686130?trackingCode=blog_bloghome_searchlist
▶️ 114. (java/자바) abstract 추상클래스 사용해 메소드 명 정의 및 자식 클래스에서 메소드 내용 구현(동물소리 재정의)실시
https://kkh0977.tistory.com/147
https://blog.naver.com/kkh0977/222203695562?trackingCode=blog_bloghome_searchlist
▶️ 150. (java/자바) 내부 클래스 (inner class) 생성 및 메소드 호출 실시
https://kkh0977.tistory.com/360
https://blog.naver.com/kkh0977/222235364849?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
728x90
반응형
'Java' 카테고리의 다른 글
Comments
