Lesson: Members

2023. 4. 17. 15:25High Level Programming Language/Reflection

리플렉션은 java.lang.reflect.Member 인터페이스를 정의하며, 

이 인터페이스는 java.lang.reflect.Field, java.lang.reflect.Method, java.lang.reflect.Constructor에 의해 구현됩니다. 이 레슨에서는 이러한 객체들에 대해 논의할 것입니다. 각 멤버에 대해, 선언 및 타입 정보를 검색하는 관련 API, 멤버에 고유한 작업(예를 들어, 필드의 값을 설정하거나 메서드를 호출하는 것), 일반적으로 발생하는 오류를 설명할 것입니다. 각 개념은 일부 예상되는 리플렉션 용도와 유사한 코드 샘플 및 관련 출력과 함께 설명됩니다.


참고: 자바 언어 사양(Java Language Specification), Java SE 7 에디션에 따르면 클래스의 멤버는 필드, 메서드, 중첩 클래스, 인터페이스, 열거형 타입을 포함한 클래스 본문의 상속된 구성 요소입니다. 생성자는 상속되지 않기 때문에 멤버가 아닙니다. 이는 java.lang.reflect.Member를 구현하는 클래스와 다릅니다.


 

Fields

필드는 타입과 값을 가집니다. java.lang.reflect.Field 클래스는 주어진 객체의 필드에 대한 타입 정보를 접근하고 값을 설정하고 가져오는 메서드를 제공합니다.

Methods

메서드는 리턴 값, 파라미터를 가지며 예외를 던질 수 있습니다. java.lang.reflect.Method 클래스는 파라미터와 리턴 값의 타입 정보를 얻기 위한 메서드를 제공합니다. 또한 주어진 객체에서 메서드를 호출하는 데도 사용될 수 있습니다.

Constructors

리플렉션 API에서 생성자는 java.lang.reflect.Constructor에 정의되어 있으며, 메서드에 대한 API와 유사합니다. 그러나 두 가지 주요 예외가 있습니다. 첫째, 생성자는 리턴 값이 없습니다. 둘째, 생성자를 호출하면 주어진 클래스의 새 인스턴스가 생성됩니다.

출처: https://docs.oracle.com/javase/tutorial/reflect/member/index.html

 

Lesson: Members (The Java™ Tutorials > The Reflection API)

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Dev.java for updated tutorials taking advantag

docs.oracle.com

 

 

'High Level Programming Language > Reflection' 카테고리의 다른 글

Proxy Target Class 조건  (0) 2023.05.17
sealed interface  (0) 2023.05.08
Structuring method calls  (0) 2023.05.02
Java Class Object  (0) 2023.05.02
Java Dynamic Proxy Classes  (0) 2023.04.28