본문 바로가기

Reflection

Java Reflection 사용하기 (7) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html 배열의 사용reflection의 마지막 단계는 배열을 만들고 조작하는 것입니다. Java에서의 배열은 특수한 형태의 class이며, 배열 참조는 객체 참조로 할당할 수 있습니다. 배열이 작동하는 방식을 확인하기 위해 아래의 예시를 생각해보겠습니다. import java.lang.reflect.*; public class array1 { public s..
Java Reflection 사용하기 (6) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflection https://www.oracle.com/technetwork/articles/java/javareflection-1536171.html 새로운 객체 생성하기 생성자를 호출하는 것은 새로운 객체를 생성한다는 측면에서 단순한 함수 호출과는 다르다고 할 수 있습니다. (정확히는 새 객체를 만든다는 것은 메모리 할당과 객체의 생성을 포함하는 것입니다.) 그렇기 때문에 앞의 함수 호출의 예와 최대한 유사한 예시를 찾아보면 아래와 같습니다. import java.lang.reflect.*; p..
Java Reflection 사용하기 (5) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html 이름으로 함수 호출하기지금까지의 포스팅은 모두 reflection을 이용하여 class 정보를 가져오는 것이었지만, 단순히 정보를 가져오는 것에서 그치는 것이 아니라 이름을 이용하여 함수를 호출하는 등의 다른 활용방법도 존재합니다. import java.lang.reflect.*; public class method2 { public int add(i..
Java Reflection 사용하기 (4) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Class Field 정보 가져오기Reflection을 이용하면 class에 정의된 data field 정보도 확인할 수 있습니다. import java.lang.reflect.*; public class field1 { private double d; public static final int i = 37; String s = "testing"; p..
Java Reflection 사용하기 (3) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Class에서 정의된 함수 확인reflection을 사용하는 여러 방법들 중에서도 가장 기본적인 기능은 class에서 정의한 함수들을 확인할 수 있다는 것입니다. 구체적인 구현 내용은 아래와 같습니다. import java.lang.reflect.*; public class method1 { private int f1(Object p, int x) t..
Java Reflection 사용하기 (2) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Reflection을 사용하기 위한 세팅앞서 사용한 Method와 같은 reflection class는 java.lang.reflect 패키지에 포함되어 있다. reflect class 들을 사용하기 위해서는 세 단계를 거쳐야한다. 첫번째 단계는 조작하고자 하는 java.lang.Class 객체를 가져오는 것입니다. java.lang.Class는 Ja..
Java Reflection 사용하기 (1) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Reflection은 Java 언어의 특징적인 기능이라고 할 수 있습니다. Reflection을 이용하면 작성된 Java 프로그램에 대한 검사가 가능해지며, 프로그램에 대한 자체적인 검사도 가능해집니다. 예를 들어 Java class를 구성하고 있는 모든 member에 대한 확인이 가능해집니다. Java class에 직접적인 접근으로 프로그램을 검사하..