profile image

L o a d i n g . . .

728x90

 

Docs에서 찾아본 JavaIntrospector의 기능은 .. 다음과 같습니다. 

 

The Introspector class provides a standard way for tools to learn about the properties, events, and methods supported by a target Java Bean.

 

 

Docs에 게제된 설명만으로는 확실히 이해하기 어려우니 관련된 용어부터 차근차근 알아가보겠습니다. 

 

Java Bean 

JavaBeanJava 클래스를 어떻게 작성할지에 대한 표준 중 하나입니다. JavaBean의 특징은 다음과 같습니다. 

  1. 모든 properties는 private 속성을 가집니다. (public getter, setter을 설정합니다) 
  2. 인자가 없는 public constructor을 가집니다. 
  3. Serializableimplement해야 합니다. 

JavaBean을 사용함으로써 해당 클래스가 어떻게 구현됐고 어떤 특징이 있는지 미리 알 수 있기 때문에 다양한 라이브러리에서 JavaBean의 특징을 활용해서 코드를 작성할 수 있습니다. 예를 들어 객체를 네트워크 상에서 송수신하는 메서드가 있다고 가정하면, 해당 메서드가 송수신하는 객체는 Serializable을 구현해야합니다. 해당 클래스가 JavaBean이라면 Serializable을 구현했을것이기에 메서드는 해당 클래스의 객체를 네트워크로 송수신할 수 있습니다. 

 

JavaBean의 구성요소는 다음과 같습니다. 

  1. Properties
    • JavaBean 규칙을 따른 클래스의 fields입니다. 
    • JavaBeanproperty로 등록하기 위해서는 설정하고자 하는 field를 public getter와 public setter을 설정해줘야 합니다.
  2. Methods 
    • Property 설정과 관련없는 JavaBean의 모든 public method를 의미합니다. 
  3. Events 
    • JavaBean은 event를 발생시킬 수 있는데, event는 다른 JavaBean의 메서드를 호출하는데 사용할 수 있습니다. 

 

Introspection 

Introspection의 사전적 의미는 자아성찰 또는 자기반성입니다. JavaBeanIntrospect한다는 의미는 JavaBean의 구조를 파악해 properties, methodsevents를 파악함을 의미합니다. Introspectionruntime에 진행됩니다(Reflection 기법을 통해서). Introspection이 정상적으로 동작하려면 introspect의 대상인 클래스를 JavaBean의 디자인 패턴에 맞게 작성해야 합니다. JavaBeanproperties, methods, events에 대해 추가적인 정보를 제공하고 싶으면 BeanInfo 인터페이스의 구현체를 제공하면 됩니다. 

 

Introspector 

IntrospectorJavaBeanproperties, methods, events를 분석하는 클래스입니다. BeanInfo가 제공되지 않는다면 Introspector은 Reflection을 통해 JavaBean의 구조를 분석합니다. Introspector은 JavaBean의 BeanInfo 클래스들을 캐싱함으로써 성능을 높이기도 합니다. 

 

Reference 

https://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html

 

Properties (The Java™ Tutorials > JavaBeans(TM) > Writing JavaBeans Components)

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 Java Language Changes for a summary of updated

docs.oracle.com

https://www.cs.auckland.ac.nz/references/java/java1.5/tutorial/javabeans/introspection/index.html

 

Lesson: Introspection (The Java™ Tutorials > JavaBeans(TM))

Lesson: Introspection Introspection is the automatic process of analyzing a bean's design patterns to reveal the bean's properties, events, and methods. This process controls the publishing and discovery of bean operations and properties. This lesson expla

www.cs.auckland.ac.nz

 

728x90
복사했습니다!