본문 바로가기

🌈 백엔드/객체 지향

JAVA_객체지향_런타임에 메소드 매개변수 알아내기

반응형
SMALL

 

[1] 런타임에 메소드 매개변수 조회


(1) Reflection API

프로그램이 컴파일 시점에 특정 타입을 알지 못해도 런타임에 객체를 조작할수 있게 해주는 API 이다

 

기본적으로 컴파일러는 .class 파일에 공식 매개 변수 이름을 저장하지 않아 매개변수 이름을 런타임에는 사용할수 없다.

하지만 javac -parameters 옵션으로 컴파일을 하면 매개변수 이름을 저장하여 런타입에 매개 변수 이름을 검색할수 있다 

 

JAVA8 , JDK 1.8 이상의 버전일때 사용가능하다 

 

 

(2) 메소드 , 매개변수 조회 

 

 

메서드는 동일하게 확인이 되지만 매개변수는 arg0 , arg1로 뜨기 때문에 

매개변수 이름으로 뜰수 있도록 변경해보자 

 

 

pom.xml 파일에서 자바 버전이 1.8 이상이여야한다 

Java -version 1.6 으로 기재되어있어서 11로 바꿔주었다.

maven plugin의 자바 버전도 1.6으로 되어있어서 바꿔준다 

11로 적어 줘도 되지만 

${java-version}으로 하면 위와 동일한 버전으로 연동된다 

 

 

 

(2) classify 

.class 파일의 바이트 코드를 조사하는 방법 

복잡하고 비효율적으로 (1) Reflection API 사용방법으로 한다 

반응형
LIST