JavaTM Platform
Standard Ed. 6

java.lang
클래스 Class<T>

java.lang.Object 
  상위를 확장 java.lang.Class<T>
형태 파라미터:
T - 이 Class 객체에 의해 모델화 되는 클래스의 형태 예를 들어,String.class 의 형태는 Class<String> 이다 모델화 되는 클래스가 불명의 경우는,Class<? > 를 사용한다
모든 구현된 인터페이스:
Serializable , AnnotatedElement , GenericDeclaration , Type


public final class Class<T>
extends Object
implements Serializable , GenericDeclaration , Type , AnnotatedElement

Class 클래스의 인스턴스는, 실행중의 Java 어플리케이션의 클래스 및 인터페이스를 나타냅니다. 열거는 클래스의 일종, 주석은 인터페이스의 일종입니다. (와)과 같이 어느 배열도, 같은 요소형 및 차원수를 가지는 모든 배열에 의해 공유되는 Class 객체로서 리플렉트 되는 클래스에 속합니다. Java 의 원시형 (boolean,byte,char,short,int,long,float,double)에 가세해 키워드 voidClass 객체로 나타내집니다.

Class 에는, public 생성자 은 없습니다. Class 객체는, 클래스가 로드 될 때에 Java 가상 머신에 의해, 및 클래스 로더의 defineClass 메소드의 호출에 의해 자동적으로 구축됩니다.

이하의 예에서는,Class 객체를 사용해 객체의 클래스명을 출력합니다.

     void printClassName(Object obj) {
         System.out.println("The class of " + obj +
                            " is " + obj.getClass(). getName());
     }
 

클래스 리터럴을 사용해, 이름 첨부형 (또는 void)을 위한 Class 객체를 취득할 수도 있습니다 (JLS 섹션 15.8. 2 ). 다음에 예를 나타냅니다.

     System.out.println("The name of class Foo is: "+Foo.class.getName());
 

도입된 버젼:
JDK1. 0
관련 항목:
ClassLoader.defineClass(byte[], int, int) , 직렬화 된 형식

메소드의 개요
<U> Class <? extends U>
asSubclass (Class <U> clazz)
          지정된 클래스 객체에 의해 나타내지는 클래스의 서브 클래스를 나타내기 위해서(때문에) 이 Class 객체를 캐스트 합니다.
 T cast (Object  obj)
          이 Class 객체가 나타내는 클래스 또는 인터페이스에 객체를 캐스트 합니다.
 boolean desiredAssertionStatus ()
          이 메소드의 호출시에 이 클래스를 초기화하는 경우, 클래스에 할당할 수 있는 선언 상태를 돌려줍니다.
static Class <? > forName (String  className)
          지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있던,Class 객체를 돌려줍니다.
static Class <? > forName (String  name, boolean initialize, ClassLoader  loader)
          지정된 클래스 로더를 사용해, 지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있었던 Class 객체를 돌려줍니다.
<A extends Annotation >
A
getAnnotation (Class <A> annotationClass)
          지정된 형태의 주석이 존재하는 경우는, 지정된 형태의 요소의 주석을 돌려줍니다.
 Annotation [] getAnnotations ()
          이 요소에 존재하는 모든 주석을 돌려줍니다 (이 요소에 주석이 없는 경우는 길이 제로의 배열을 돌려줍니다).
 String getCanonicalName ()
           「Java 언어 스펙」의 정의에 따라, 기본이 되는 클래스의 정규명을 돌려줍니다.
 Class <? >[] getClasses ()
          이 Class 객체가 나타내는 클래스의 멤버인, 모든 public 클래스 및 인터페이스를 나타내는 Class 객체를 포함하고 있는 배열을 돌려줍니다.
 ClassLoader getClassLoader ()
          클래스의 클래스 로더를 돌려줍니다.
 Class <? > getComponentType ()
          배열의 컴퍼넌트형을 나타내는 Class 를 돌려줍니다.
 Constructor <T > getConstructor (Class <? >... parameterTypes)
          이 Class 객체가 나타내는 클래스의 지정된 public 생성자 을 리플렉트 하는 Constructor 객체를 돌려줍니다.
 Constructor <? >[] getConstructors ()
          이 Class 객체가 나타내는 클래스의 모든 public 생성자 을 리플렉트 하는 Constructor 객체를 포함하고 있는 배열을 돌려줍니다.
 Annotation [] getDeclaredAnnotations ()
          이 요소에 직접 존재하는 모든 주석을 돌려줍니다.
 Class <? >[] getDeclaredClasses ()
          이 Class 객체가 나타내는 클래스의 멤버로서 선언된 모든 클래스 및 인터페이스를 리플렉트 하는 Class 객체의 배열을 돌려줍니다.
 Constructor <T > getDeclaredConstructor (Class <? >... parameterTypes)
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 생성자 을 리플렉트 하는 Constructor 객체를 돌려줍니다.
 Constructor <? >[] getDeclaredConstructors ()
          이 Class 객체가 나타내는 클래스에 의해 선언된 모든 생성자 을 리플렉트 하는 Constructor 객체의 배열을 돌려줍니다.
 Field getDeclaredField (String  name)
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 필드를 리플렉트 하는 Field 객체를 돌려줍니다.
 Field [] getDeclaredFields ()
          이 Class 객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 필드를 리플렉트 하는 Field 객체의 배열을 돌려줍니다.
 Method getDeclaredMethod (String  name, Class <? >... parameterTypes)
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 메소드를 리플렉트 하는 Method 객체를 돌려줍니다.
 Method [] getDeclaredMethods ()
          이 Class 객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 메소드를 리플렉트 하는 Method 객체의 배열을 돌려줍니다.
 Class <? > getDeclaringClass ()
          이 Class 객체가 나타내는 클래스 또는 인터페이스가 다른 클래스의 멤버의 경우는, 그것이 선언된 클래스를 나타내는 Class 객체를 돌려줍니다.
 Class <? > getEnclosingClass ()
          기본이 되는 클래스를 직접 둘러싸는 클래스를 돌려줍니다.
 Constructor <? > getEnclosingConstructor ()
          이 Class 객체가, 생성자 내의 로컬 클래스 또는 익명 클래스를 나타내는 경우는, 기본이 되는 클래스를 직접 둘러싸는 생성자 을 나타내는 Constructor 객체를 돌려줍니다.
 Method getEnclosingMethod ()
          이 Class 객체가, 메소드내의 로컬 클래스 또는 익명 클래스를 나타내는 경우는, 기본이 되는 클래스를 직접 둘러싸는 메소드를 나타내는 Method 객체를 돌려줍니다.
 T [] getEnumConstants ()
          이 enum 클래스의 요소를 돌려주는지, 이 Class 객체가 enum 형을 나타내지 않는 경우는 null 를 돌려줍니다.
 Field getField (String  name)
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 필드를 리플렉트 하는 Field 객체를 돌려줍니다.
 Field [] getFields ()
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 모든 액세스 가능한 public 필드를 리플렉트 하는,Field 객체를 보관 유지하고 있는 배열을 돌려줍니다.
 Type [] getGenericInterfaces ()
          이 객체에 의해 나타내지는 인터페이스 또는 클래스에 의해 직접 구현되는 인터페이스를 나타내는 Type 를 돌려줍니다.
 Type getGenericSuperclass ()
          이 Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 직접적인 슈퍼 클래스를 나타내는 Type 를 돌려줍니다.
 Class <? >[] getInterfaces ()
          이 객체가 나타내는 클래스 또는 인터페이스에 의해 구현되는 인터페이스를 가져옵니다.
 Method getMethod (String  name, Class <? >... parameterTypes)
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 메소드를 리플렉트 하는 Method 객체를 돌려줍니다.
 Method [] getMethods ()
          이 Class 객체가 나타내는 클래스 또는 인터페이스의 모든 public 「멤버」메소드를 리플렉트 하는 Method 객체를 포함하고 있는 배열을 돌려줍니다.
 int getModifiers ()
          이 클래스 또는 인터페이스의 Java 언어 수식자를 정수형에 encode 해 돌려줍니다.
 String getName ()
          이 Class 객체가 나타내는 엔티티 (클래스, 인터페이스, 배열 클래스, 원시형, 또는 void)의 이름을,String 로서 돌려줍니다.
 Package getPackage ()
          이 클래스의 패키지를 가져옵니다.
 ProtectionDomain getProtectionDomain ()
          이 클래스의 ProtectionDomain 를 돌려줍니다.
 URL getResource (String  name)
          지정된 이름의 자원을 찾습니다.
 InputStream getResourceAsStream (String  name)
          지정된 이름의 자원을 찾습니다.
 Object [] getSigners ()
          이 클래스의 서명자를 가져옵니다.
 String getSimpleName ()
          원시 코드내에서 지정되었던 대로, 기본이 되는 클래스의 단순명을 돌려줍니다.
 Class <? super T > getSuperclass ()
          이 Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 슈퍼 클래스를 나타내는 Class 를 돌려줍니다.
 TypeVariable <Class <T >>[] getTypeParameters ()
          GenericDeclaration 객체에 의해 나타내지는 총칭 선언으로 선언된 형태 변수를 나타내는 TypeVariable 객체의 배열을 선언순서에 돌려줍니다.
 boolean isAnnotation ()
          Class 객체가 주석형을 나타내는 경우는 true 를 돌려줍니다.
 boolean isAnnotationPresent (Class <? extends Annotation > annotationClass)
          지정된 형태의 주석이 이 요소에 존재하는 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.
 boolean isAnonymousClass ()
          기본이 되는 클래스가 익명 클래스인 경우만 true 를 돌려줍니다.
 boolean isArray ()
          이 Class 객체가 배열 클래스를 나타낼지 어떨지를 판정합니다.
 boolean isAssignableFrom (Class <? > cls)
          이 Class 객체가 나타내는 클래스 또는 인터페이스가, 지정된 Class 파라미터가 나타내는 클래스 또는 인터페이스와 동일한지 어떤지, 혹은 그 슈퍼 클래스 혹은 슈퍼 인터페이스일지 어떨지를 판정합니다.
 boolean isEnum ()
          이 클래스가 원시 코드로 enum 로서 선언되었을 경우만 true 를 돌려줍니다.
 boolean isInstance (Object  obj)
          지정된 Object 가, 이 Class 가 나타내는 객체와 대입 호환의 관계에 있을지 어떨지를 판정합니다.
 boolean isInterface ()
          지정된 Class 객체가 인터페이스형을 나타낼지 어떨지를 판정합니다.
 boolean isLocalClass ()
          기본이 되는 클래스가 로컬 클래스인 경우만 true 를 돌려줍니다.
 boolean isMemberClass ()
          기본이 되는 클래스가 멤버 클래스인 경우만 true 를 돌려줍니다.
 boolean isPrimitive ()
          지정된 Class 객체가 원시형을 나타낼지 어떨지를 판정합니다.
 boolean isSynthetic ()
          이 클래스가 합성 클래스인 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.
 T newInstance ()
          이 Class 객체가 나타내는 클래스의 새로운 인스턴스를 생성합니다.
 String toString ()
          객체를 캐릭터 라인으로 변환합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

메소드의 상세

toString

public String  toString()
객체를 캐릭터 라인으로 변환합니다. 그 캐릭터 라인은, 「class」또는 「interface」등의 캐릭터 라인, 공백,getName 가 돌려주는 형식의 완전 수식 클래스명이라고 하는 순서로 표현됩니다. 이 Class 객체가 원시형을 나타내는 경우, 이 메소드는 원시형의 이름을 돌려주어, void 를 나타내는 경우는, 「void」를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 객체의 캐릭터 라인 표현

forName

public static Class <? > forName(String  className)
                        throws ClassNotFoundException 
지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있던,Class 객체를 돌려줍니다. 이 메소드를 호출하는 것은, 다음의 기술에 상당합니다.
  Class.forName(className, true, currentLoader)
 
여기서,currentLoader 는, 현재의 클래스를 정의하는 클래스 로더를 나타냅니다.

예를 들어 이하의 기술은,java.lang.Thread 라는 이름의 클래스의 실행시에 있어서의 Class 기술자를 돌려줍니다.

   Class t = Class.forName("java.lang.Thread")
 

forName("X") 의 호출에 의해,X 라고 하는 클래스가 초기화됩니다.

파라미터:
className - 요구하는 클래스의 완전한 이름(FQN)
반환값:
지정된 이름을 가지는 클래스의 Class 객체
예외:
LinkageError - 링키지에 실패했을 경우
ExceptionInInitializerError - 이 메소드에 의한 초기화에 실패했을 경우
ClassNotFoundException - 클래스가 발견되지 않았던 경우

forName

public static Class <? > forName(String  name,
                               boolean initialize,
                               ClassLoader  loader)
                        throws ClassNotFoundException 
지정된 클래스 로더를 사용해, 지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있었던 Class 객체를 돌려줍니다. 클래스 또는 인터페이스의 완전 수식명을 (getName 가 돌려주는 형식과 같은 형식에서) 지정하면(자), 이 메소드는 클래스 또는 인터페이스를 찾아내 로드해, 링크하려고 합니다. 클래스 또는 인터페이스를 로드하려면 , 지정된 클래스 로더가 사용됩니다. loader 파라미터가 null 의 경우, 클래스는 bootstrap 클래스 로더를 사용해 로드 됩니다. initialize 파라미터가 true 로, 그때까지 초기화되어 있지 않은 경우만, 클래스는 초기화됩니다.

name 가 원시형 또는 void 를 나타내는 경우, 무명 패키지내에서 name 라는 이름의 사용자 정의의 클래스를 찾아내려고 합니다. 이 때문에, 이 메소드를 사용해, 원시형 또는 void 를 나타내는 Class 객체를 취득할 수 없습니다.

name 가 배열 클래스를 나타내는 경우, 배열 클래스의 컴퍼넌트형은 로드 됩니다만, 초기화되지 않습니다.

예를 들어, 인스턴스 메소드에서는,

  Class.forName("Foo")
 
이것은, 다음과 같습니다.
  Class.forName("Foo", true, this.getClass(). getClassLoader())
 
다만, 이 메소드는,「Java 언어 스펙」의 섹션 12.2, 12.3, 12.4 로 지정된, 로드, 링크, 또는 초기화에 관련하는 에러를 throw 합니다. 이 메소드는, 요구된 클래스가 호출해 옆으로부터 액세스 가능한지 어떤지를 체크하지 않습니다.

loadernull 로, 시큐리티 매니저가 존재해, 호출측의 클래스 로더가 null 가 아닌 경우, 이 메소드는 시큐리티 매니저의 checkPermission 메소드를 RuntimePermission("getClassLoader") 의 액세스권을 사용해 호출하는 것에 의해, bootstrap 클래스 로더에 문제 없게 액세스 할 수 있는 것을 보증합니다.

파라미터:
name - 요구하는 클래스의 완전한 이름(FQN)
initialize - 클래스를 초기화할 필요의 유무
loader - 클래스의 로드원일 필요가 있는 클래스 로더
반환값:
요구하는 클래스를 나타내는 클래스 객체
예외:
LinkageError - 링키지에 실패했을 경우
ExceptionInInitializerError - 이 메소드에 의한 초기화에 실패했을 경우
ClassNotFoundException - 지정된 클래스 로더에 의해 클래스가 발견되지 않았던 경우
도입된 버젼:
1.2
관련 항목:
forName(String) , ClassLoader

newInstance

public T  newInstance()
              throws InstantiationException ,
                     IllegalAccessException 
Class 객체가 나타내는 클래스의 새로운 인스턴스를 생성합니다. new 식에 빈 상태(empty)의 인수 리스트를 지정했을 경우와 같이, 클래스의 인스턴스가 생성됩니다. 클래스는, 초기화되어 있지 않으면 초기화됩니다.

이 메소드는 확인이 끝난 예외 등, 인수 없음의 생성자 에 의해 throw 된 예외를 보내는 것에 주의해 주세요. 이 메소드를 사용하는 것으로, 그 외의 경우에는 컴파일러에 의해 실행되는 컴파일시의 예외 확인을 효과적으로 우회도로 할 수 있습니다. Constructor.newInstance 메소드는, (확인 끝난) InvocationTargetException 의 생성자 에 의해 throw 된 예외를 랩 하는 것으로, 이 문제를 회피합니다.

반환값:
이 객체가 나타내는, 클래스의 새롭게 할당할 수 있었던 인스턴스
예외:
IllegalAccessException - 클래스 또는 그 인수 없음의 생성자 에 액세스 할 수 없는 경우
InstantiationException - 이 Class 가 abstract 클래스, 인터페이스, 배열 클래스, 원시형, 또는 void 를 나타내는 경우, 클래스가 인수 없음의 생성자 을 보관 유지하지 않는 경우, 혹은 인스턴스의 생성이 다른 이유로써 실패했을 경우
ExceptionInInitializerError - 이 메소드에 의한 초기화가 실패했을 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 클래스의 신규 인스턴스의 작성을 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다

isInstance

public boolean isInstance(Object  obj)
지정된 Object 가, 이 Class 가 나타내는 객체와 대입 호환의 관계에 있을지 어떨지를 판정합니다. 이 메소드는, Java 언어의 instanceof 연산자와 동적으로 등가입니다. 지정된 Object 인수가 null 는 아니고, 이 Class 객체가 나타내는 참조형에 ClassCastException 를 throw 하는 일 없이 캐스트 할 수 있는 경우, 이 메소드는 true 를 돌려줍니다. 그렇지 않은 경우는,false 를 돌려줍니다.

특히, 이 Class 객체가 선언 클래스를 나타낼 때는, 이 메소드는, 지정된 Object 인수가 표현 클래스 (또는 그 서브 클래스)의 인스턴스의 경우에 true 를, 그렇지 않은 경우에 false 를 돌려줍니다. 이 Class 객체가 배열 클래스를 나타낼 때는, 항등변환 또는 확장 참조 변환을 이용해 지정된 Object 인수를 배열 클래스의 객체로 변환할 수 있는 경우에 true 를, 그렇지 않은 경우에 false 를 돌려줍니다. 이 Class 객체가 인터페이스를 나타낼 때는, 지정된 Object 인수의 클래스 또는 슈퍼 클래스가 이 인터페이스를 구현하는 경우에 true 를, 그렇지 않은 경우에 false 를 돌려줍니다. 이 Class 객체가 원시형을 나타내는 경우는 false 를 돌려줍니다.

파라미터:
obj - 체크 대상의 객체
반환값:
obj 가 이 클래스의 인스턴스의 경우는 true
도입된 버젼:
JDK1. 1

isAssignableFrom

public boolean isAssignableFrom(Class <? > cls)
Class 객체가 나타내는 클래스 또는 인터페이스가, 지정된 Class 파라미터가 나타내는 클래스 또는 인터페이스와 동일한지 어떤지, 혹은 그 슈퍼 클래스 혹은 슈퍼 인터페이스일지 어떨지를 판정합니다. 어딘가에 들어맞는 경우는 true 를, 그렇지 않은 경우는 false 를 돌려줍니다. 이 Class 객체가 원시형을 나타낼 때는, 지정된 Class 파라미터와 이 Class 객체가 일치하는 경우에 true 를, 그렇지 않은 경우에 false 를 돌려줍니다.

특히 이 메소드는, 지정된 Class 파라미터가 표현하는 형태를, 항등변환 또는 확장 참조 변환을 사용해, 이 Class 객체가 나타내는 형태로 변환할 수 있을지 어떨지를 조사합니다. 자세한 것은, 「Java 언어 스펙」의 섹션 5.1. 1 으로 5.1. 4 를 참조해 주세요.

파라미터:
cls - 체크 대상의 Class 객체
반환값:
cls 형의 객체가 이 클래스에 할당할 수 있을지 어떨지를 나타내는 boolean
예외:
NullPointerException - 지정된 Class 파라미터가 null 의 경우
도입된 버젼:
JDK1. 1

isInterface

public boolean isInterface()
지정된 Class 객체가 인터페이스형을 나타낼지 어떨지를 판정합니다.

반환값:
이 객체가 인터페이스를 나타내는 경우는 true, 그렇지 않은 경우는 false

isArray

public boolean isArray()
Class 객체가 배열 클래스를 나타낼지 어떨지를 판정합니다.

반환값:
이 객체가 배열 클래스를 나타내는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
JDK1. 1

isPrimitive

public boolean isPrimitive()
지정된 Class 객체가 원시형을 나타낼지 어떨지를 판정합니다.

8 개의 Java 의 원시형과 void 를 나타내는, 9 개의 정의가 끝난 Class 객체가 있습니다. 이것들은 Java 가상 머신이 작성해, 해당하는 원시형과 같은 이름을 가집니다. 즉,boolean,byte,char,short,int,long,float,double, 및 void 입니다.

이러한 객체에는, 이하의 public static final 변수를 사용하는 방법에 따라서만 액세스 할 수 있습니다. 또, 이 메소드가 true 를 돌려주는 것은, 이러한 9 개의 Class 객체로 한정됩니다.

반환값:
이 클래스가 원시형을 나타내는 경우에 한정해 true
도입된 버젼:
JDK1. 1
관련 항목:
Boolean.TYPE , Character.TYPE , Byte.TYPE , Short.TYPE , Integer.TYPE , Long.TYPE , Float.TYPE , Double.TYPE , Void.TYPE

isAnnotation

public boolean isAnnotation()
Class 객체가 주석형을 나타내는 경우는 true 를 돌려줍니다. 모든 주석형은 인터페이스라도 있으므로, 이 메소드가 true 를 돌려주면(자),isInterface() 도 true 를 돌려줍니다.

반환값:
이 클래스 객체가 주석형을 나타내는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.5

isSynthetic

public boolean isSynthetic()
이 클래스가 합성 클래스인 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.

반환값:
이 클래스가 「Java 언어 스펙」으로 정의되고 있는 합성 클래스인 경우에 한정해,true
도입된 버젼:
1.5

getName

public String  getName()
Class 객체가 나타내는 엔티티 (클래스, 인터페이스, 배열 클래스, 원시형, 또는 void)의 이름을,String 로서 돌려줍니다.

「Java 언어 스펙, 제 2 판」으로 규정되고 있도록(듯이), 이 클래스 객체가 배열형이 아닌 참조형을 나타내는 경우는, 클래스의 바이너리명이 돌려주어집니다.

이 클래스 객체가 원시형 또는 void 를 나타내는 경우, 반환되는 이름은 원시형 또는 void 에 대응하는 Java 언어 키워드와 등가인 String 입니다.

이 클래스 객체가 배열의 클래스를 나타내는 경우, 이름의 내부 형식은, 배열의 상자의 깊이를 나타내는 1 개(살) 이상의 「[」문자, 요소형의 이름이라고 하는 순서로 구성됩니다. 요소형의 이름의 인코딩은, 이하대로입니다.

Element Type     인코딩
boolean 형     Z
byte     B
char     C
class 또는 interface     Lclassname;
double     D
float     F
int     I
long     J
short     S

클래스명 또는 인터페이스명의 classname 는, 상기의 예의 같게 클래스의 바이너리명으로 지정됩니다.

례:

 String.class.getName()
     returns "java.lang.String"
 byte.class.getName()
     returns "byte"
 (new Object[3]). getClass(). getName()
     returns "[Ljava.lang.Object;"
 (new int[3][4][5][6][7][8][9]). getClass(). getName()
     returns "[[[[[[[I"
 

반환값:
이 객체가 나타내는 클래스 또는 인터페이스의 이름

getClassLoader

public ClassLoader  getClassLoader()
클래스의 클래스 로더를 돌려줍니다. 구현에 따라서는, null 를 사용해 bootstrap 클래스 로더를 나타낼 수도 있습니다. 이 메소드는, 이 클래스가 bootstrap 클래스 로더로 로드 되었을 경우에, 그러한 구현으로 null 를 돌려줍니다.

시큐리티 매니저가 존재해, 호출측의 클래스 로더가 null 가 아니고, 클래스 로더가 필요하게 되는 클래스의 클래스 로더의 상위 로더도 아닌 경우, 이 메소드는 시큐리티 매니저의 checkPermission 메소드를 RuntimePermission("getClassLoader") 의 액세스권을 사용해 호출하는 것에 의해 클래스의 클래스 로더에 문제 없게 액세스 할 수 있는 것을 보증합니다.

이 객체가 원시형 또는 void 를 나타내는 경우는, null 가 돌려주어집니다.

반환값:
이 객체가 나타내는 클래스 또는 인터페이스를 로드한 클래스 로더
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkPermission 메소드가 클래스의 클래스 로더에의 액세스를 거부하는 경우
관련 항목:
ClassLoader , SecurityManager.checkPermission(java.security.Permission) , RuntimePermission

getTypeParameters

public TypeVariable <Class <T >>[] getTypeParameters()
GenericDeclaration 객체에 의해 나타내지는 총칭 선언으로 선언된 형태 변수를 나타내는 TypeVariable 객체의 배열을 선언순서에 돌려줍니다. 기본으로 되는 총칭 선언으로 형태 변수가 선언되어 있지 않은 경우는, 길이 0 의 배열이 돌려주어집니다.

정의:
인터페이스 GenericDeclaration 내의 getTypeParameters
반환값:
이 총칭 선언으로 선언된 형태 변수를 나타내는 TypeVariable 객체의 배열
예외:
GenericSignatureFormatError - 이 총칭 선언의 총칭 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
도입된 버젼:
1.5

getSuperclass

public Class <?  super T > getSuperclass()
Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 슈퍼 클래스를 나타내는 Class 를 돌려줍니다. 이 Class 가,Object 클래스, 인터페이스, 원시형, 또는 void 를 나타내는 경우, null 가 돌려주어집니다. 이 객체가 배열 클래스를 나타내는 경우,Object 클래스를 나타내는 Class 객체가 돌려주어집니다.

반환값:
이 객체가 나타내는 클래스의 슈퍼 클래스

getGenericSuperclass

public Type  getGenericSuperclass()
Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 직접적인 슈퍼 클래스를 나타내는 Type 를 돌려줍니다.

슈퍼 클래스가 파라미터화 된 형태의 경우, 반환되는 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 반영하지 않으면 안됩니다. 슈퍼 클래스를 나타내는 파라미터화 된 형태는, 이전 작성되어 있지 않았던 경우에 작성됩니다. 파라미터화 된 형태의 작성 프로세스의 시멘틱스에 대해서는,ParameterizedType 의 선언을 참조해 주세요. 이 Class 가,Object 클래스, 인터페이스, 원시형, 또는 void 를 나타내는 경우, null 가 돌려주어집니다. 이 객체가 배열 클래스를 나타내는 경우,Object 클래스를 나타내는 Class 객체가 돌려주어집니다.

반환값:
이 객체가 나타내는 클래스의 슈퍼 클래스
예외:
GenericSignatureFormatError - 이 총칭 클래스의 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
TypeNotPresentException - 총칭 슈퍼 클래스가, 존재하지 않는 형태 선언을 참조하는 경우
MalformedParameterizedTypeException - 총칭 슈퍼 클래스가, 어떠한 이유에 의해 인스턴스화할 수 없는 파라미터화 된 형태를 참조하는 경우
도입된 버젼:
1.5

getPackage

public Package  getPackage()
이 클래스의 패키지를 가져옵니다. 패키지를 찾으려면 , 이 클래스의 클래스 로더가 사용됩니다. bootstrap 클래스 로더가 클래스를 로드했을 경우, CLASSPATH 로부터 로드 된 패키지세트를 검색해 클래스의 패키지를 찾아냅니다. 이 클래스의 클래스 로더가 패키지 객체를 생성하지 않았던 경우는, null 가 돌려주어집니다.

클래스에 부속되는 Manifest로 정보가 정의되었을 경우와 클래스 로더가 Manifest의 속성을 가지는 패키지 인스턴스를 생성했을 경우에만, 패키지는 버젼과 스펙의 속성을 가집니다.

반환값:
클래스의 패키지. 어카이브(archive) 또는 코드 베이스의 패키지의 정보를 이용할 수 없는 경우는 null

getInterfaces

public Class <? >[] getInterfaces()
이 객체가 나타내는 클래스 또는 인터페이스에 의해 구현되는 인터페이스를 가져옵니다.

이 객체가 클래스를 나타내는 경우, 반환값은, 클래스에 의해 구현되는 모든 인터페이스를 나타내는 객체를 포함하고 있는 배열입니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 클래스를 선언하는 implements 절내의 인터페이스명의 순서에 일치합니다. 예를 들어,

 class Shimmer implements FloorWax, DessertTopping { ... }
 
그렇다고 하는 선언이 있어,s 의 값이 Shimmer 의 인스턴스이다고 합니다.
 s.getClass(). getInterfaces()[0]
 
그렇다고 하는 식의 값은 FloorWax 인터페이스를 나타내는 Class 객체이며,
 s.getClass(). getInterfaces()[1]
 
그렇다고 하는 식의 값은,DessertTopping 인터페이스를 나타내는 Class 객체입니다.

이 객체가 인터페이스를 나타내는 경우, 그 인터페이스에 의해 확장된 모든 인터페이스를 나타내는 객체가 배열내에 접어듭니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 인터페이스를 선언하는 extends 절내의 인터페이스명의 순서에 일치합니다.

이 객체가 인터페이스를 구현하지 않는 클래스 또는 인터페이스를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.

이 객체가 원시형 또는 void 를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.

반환값:
이 클래스에 의해 구현되는 인터페이스의 배열

getGenericInterfaces

public Type [] getGenericInterfaces()
이 객체에 의해 나타내지는 인터페이스 또는 클래스에 의해 직접 구현되는 인터페이스를 나타내는 Type 를 돌려줍니다.

슈퍼 인터페이스가 파라미터화 된 형태의 경우, 반환되는 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 반영하지 않으면 안됩니다. 슈퍼 인터페이스를 나타내는 파라미터화 된 형태는, 이전 작성되어 있지 않았던 경우에 작성됩니다. 파라미터화 된 형태의 작성 프로세스의 시멘틱스에 대해서는,ParameterizedType 의 선언을 참조해 주세요.

이 객체가 클래스를 나타내는 경우, 반환값은, 클래스에 의해 구현되는 모든 인터페이스를 나타내는 객체를 포함하고 있는 배열입니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 클래스를 선언하는 implements 절내의 인터페이스명의 순서에 일치합니다. 배열 클래스의 경우,Cloneable 인터페이스와 Serializable 인터페이스는 그 순서로 돌려주어집니다.

이 객체가 인터페이스를 나타내는 경우, 그 인터페이스에 의해 확장된 모든 인터페이스를 나타내는 객체가 배열내에 접어듭니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 인터페이스를 선언하는 extends 절내의 인터페이스명의 순서에 일치합니다.

이 객체가 인터페이스를 구현하지 않는 클래스 또는 인터페이스를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.

이 객체가 원시형 또는 void 를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.

반환값:
이 클래스에 의해 구현되는 인터페이스의 배열
예외:
GenericSignatureFormatError - 이 총칭 클래스의 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
TypeNotPresentException - 총칭 슈퍼 인터페이스의 어떤 것인가가, 존재하지 않는 형태 선언을 참조하는 경우
MalformedParameterizedTypeException - 총칭 슈퍼 인터페이스의 어떤 것인가가, 어떠한 이유에 의해 인스턴스화할 수 없는 파라미터화 된 형태를 참조하는 경우
도입된 버젼:
1.5

getComponentType

public Class <? > getComponentType()
배열의 컴퍼넌트형을 나타내는 Class 를 돌려줍니다. 이 클래스가 배열 클래스를 나타내지 않는 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
이 클래스가 배열의 경우, 이 클래스의 컴퍼넌트형을 나타내는 Class
도입된 버젼:
JDK1. 1
관련 항목:
Array

getModifiers

public int getModifiers()
이 클래스 또는 인터페이스의 Java 언어 수식자를 정수형에 encode 해 돌려줍니다. 수식자는,public,protected,private,final,static,abstract, 및 interface 용의 Java 가상 머신의 정수로부터 구성됩니다. 이것들은,Modifier 클래스의 메소드를 사용해 복호화 하지 않으면 안됩니다.

기본이 되는 클래스가 배열 클래스의 경우,public,private, 및 protected 의 각 수식자는 컴퍼넌트형의 수식자와 같습니다. 이 Class 가 원시형 또는 void 의 경우,public 의 각 수식자는 항상 true 로,protectedprivate 수식자는 항상 false 입니다. 이 객체가 배열 클래스, 원시형, 또는 void 를 나타내는 경우,final 수식자는 항상 true 로, 그 인터페이스 수식자는 항상 false 입니다. 그 외의 수식자의 값은, 이 스펙에서는 판정되지 않습니다.

수식자의 encode 방법은, Java Virtual Machine 스펙의 표 4.1 에 정의되고 있습니다.

반환값:
이 클래스의 수식자를 나타내는 int
도입된 버젼:
JDK1. 1
관련 항목:
Modifier

getSigners

public Object [] getSigners()
이 클래스의 서명자를 가져옵니다.

반환값:
이 클래스의 서명자. 서명자가 없는 경우는 null. 특히 이 메소드는, 이 객체가 원시형 또는 void 를 나타내는 경우에는 null 를 돌려주는
도입된 버젼:
JDK1. 1

getEnclosingMethod

public Method  getEnclosingMethod()
Class 객체가, 메소드내의 로컬 클래스 또는 익명 클래스를 나타내는 경우는, 기본이 되는 클래스를 직접 둘러싸는 메소드를 나타내는 Method 객체를 돌려줍니다. 그렇지 않은 경우는 null 를 돌려줍니다. 특히, 기본이 되는 클래스가, 형태 선언, 인스턴스 초기화자, 또는 스태틱 초기화자에 의해 직접 둘러싸이는 로컬 클래스 또는 익명 클래스인 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
클래스가 로컬 클래스 또는 익명 클래스의 경우, 기본이 되는 클래스를 직접 둘러싸는 메소드. 그렇지 않은 경우는 null
도입된 버젼:
1.5

getEnclosingConstructor

public Constructor <? > getEnclosingConstructor()
Class 객체가, 생성자 내의 로컬 클래스 또는 익명 클래스를 나타내는 경우는, 기본이 되는 클래스를 직접 둘러싸는 생성자 을 나타내는 Constructor 객체를 돌려줍니다. 그렇지 않은 경우는 null 를 돌려줍니다. 특히, 기본이 되는 클래스가, 형태 선언, 인스턴스 초기화자, 또는 스태틱 초기화자에 의해 직접 둘러싸이는 로컬 클래스 또는 익명 클래스인 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
클래스가 로컬 클래스 또는 익명 클래스의 경우, 기본이 되는 클래스를 직접 둘러싸는 생성자. 그렇지 않은 경우는 null
도입된 버젼:
1.5

getDeclaringClass

public Class <? > getDeclaringClass()
Class 객체가 나타내는 클래스 또는 인터페이스가 다른 클래스의 멤버의 경우는, 그것이 선언된 클래스를 나타내는 Class 객체를 돌려줍니다. 이 클래스 또는 인터페이스가 다른 클래스의 멤버가 아닌 경우는, null 를 돌려줍니다. 이 Class 객체가 배열 클래스, 원시형, 또는 void 를 나타내는 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
이 클래스를 선언하는 클래스
도입된 버젼:
JDK1. 1

getEnclosingClass

public Class <? > getEnclosingClass()
기본이 되는 클래스를 직접 둘러싸는 클래스를 돌려줍니다. 기본이 되는 클래스가 톱 레벨 클래스인 경우,null를 돌려줍니다.

반환값:
기본이 되는 클래스를 직접 둘러싸는 클래스
도입된 버젼:
1.5

getSimpleName

public String  getSimpleName()
원시 코드내에서 지정되었던 대로, 기본이 되는 클래스의 단순명을 돌려줍니다. 기본이 되는 클래스가 익명의 경우, 빈 상태(empty)의 캐릭터 라인을 돌려줍니다.

배열의 단순명은, 「[]」이 부가된 컴퍼넌트형의 단순명입니다. 특히, 컴퍼넌트형이 익명인 배열의 단순명은, 「[]」입니다.

반환값:
기본이 되는 클래스의 단순명
도입된 버젼:
1.5

getCanonicalName

public String  getCanonicalName()
「Java 언어 스펙」의 정의에 따라, 기본이 되는 클래스의 정규명을 돌려줍니다. 기본이 되는 클래스가 정규명을 가지지 않는 경우 (로컬 클래스나 익명 클래스, 또는 컴퍼넌트형이 정규명을 가지지 않는 배열의 경우), null 를 돌려줍니다.

반환값:
존재하는 경우는 기본이 되는 클래스의 정규명. 그렇지 않은 경우는 null
도입된 버젼:
1.5

isAnonymousClass

public boolean isAnonymousClass()
기본이 되는 클래스가 익명 클래스인 경우만 true 를 돌려줍니다.

반환값:
이 클래스가 익명 클래스인 경우만 true
도입된 버젼:
1.5

isLocalClass

public boolean isLocalClass()
기본이 되는 클래스가 로컬 클래스인 경우만 true 를 돌려줍니다.

반환값:
이 클래스가 로컬 클래스인 경우만 true
도입된 버젼:
1.5

isMemberClass

public boolean isMemberClass()
기본이 되는 클래스가 멤버 클래스인 경우만 true 를 돌려줍니다.

반환값:
이 클래스가 멤버 클래스인 경우만 true
도입된 버젼:
1.5

getClasses

public Class <? >[] getClasses()
Class 객체가 나타내는 클래스의 멤버인, 모든 public 클래스 및 인터페이스를 나타내는 Class 객체를 포함하고 있는 배열을 돌려줍니다. 슈퍼 클래스로부터 상속한 public 클래스 및 인터페이스의 멤버, 및 클래스가 선언한 public 클래스와 인터페이스의 멤버도 포함됩니다. 이 Class 객체가 public 멤버 클래스나 인터페이스를 가지지 않는 경우나, 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는, 길이가 0 의 배열을 돌려줍니다.

반환값:
이 클래스의 public 멤버를 나타내는 Class 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 메소드의 호출이 이 클래스내의 클래스에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getFields

public Field [] getFields()
                  throws SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 모든 액세스 가능한 public 필드를 리플렉트 하는,Field 객체를 보관 유지하고 있는 배열을 돌려줍니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 클래스 또는 인터페이스에 액세스 가능한 public 필드가 없는 경우나, 클래스 또는 인터페이스가 배열 클래스, 원시형, 또는 void 를 나타내는 경우는, 길이가 0 의 배열을 돌려줍니다.

특히, 이 Class 객체가 클래스를 나타내는 경우, 이 메소드는 이 클래스와 그 모든 슈퍼 클래스의 public 필드를 돌려줍니다. 이 Class 객체가 인터페이스를 나타내는 경우는, 이 인터페이스와 모든 슈퍼 인터페이스의 필드를 돌려줍니다.

이 메소드는, 배열 클래스의 암묵적인 길이 필드를 리플렉트 하지 않습니다. 사용자 코드로 배열을 조작하려면 ,Array 클래스의 메소드를 사용할 필요가 있습니다.

「Java 언어 스펙」의 섹션 8.2 로 8.3 을 참조해 주세요.

반환값:
public 필드를 나타내는 Field 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 클래스내의 필드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getMethods

public Method [] getMethods()
                    throws SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 모든 public 「멤버」메소드를 리플렉트 하는 Method 객체를 포함하고 있는 배열을 돌려줍니다. 클래스 또는 인터페이스가 선언한 것, 및 슈퍼 클래스나 슈퍼 인터페이스로부터 상속된 것도 포함됩니다. 배열 클래스는,Object 클래스로부터 상속된 모든 (public) 멤버 메소드를 돌려줍니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 이 Class 객체가 public 멤버 메소드가 없는 클래스 또는 인터페이스를 나타내는 경우나, 원시형 또는 void 를 나타내는 경우는, 이 메소드는 길이가 0 의 배열을 돌려줍니다.

클래스 초기화 메소드 <clinit> 는, 반환된 배열에는 없습니다. 클래스가 같은 파라미터형을 가지는 복수의 public 멤버 메소드를 선언하는 경우, 그러한 메소드는, 모두 반환된 배열에 있습니다.

「Java 언어 스펙」의 섹션 8.2 로 8.4 를 참조해 주세요.

반환값:
이 클래스의 public 메소드를 나타내는 Method 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 클래스내의 메소드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getConstructors

public Constructor <? >[] getConstructors()
                                 throws SecurityException 
Class 객체가 나타내는 클래스의 모든 public 생성자 을 리플렉트 하는 Constructor 객체를 포함하고 있는 배열을 돌려줍니다. 클래스에 public 생성자 이 없는 경우, 클래스가 배열 클래스의 경우, 또는 클래스가 원시형 또는 void 를 리플렉트 하는 경우에는, 길이가 0 의 배열을 돌려줍니다. 이 메소드는 Constructor<T> 객체의 배열 (이 클래스로부터의 생성자 의 배열)을 돌려줍니다만, 이 메소드의 반환값의 형태는 Constructor<? >[] 이며, 예상되는 Constructor<T>[] 가 아닙니다. 이 정보의 적은 반환값의 형태는, 이 메소드로부터 반환된 후에 필요하게 되어, 이 배열은 다양한 클래스의 Constructor 객체를 보관 유지하도록(듯이) 변경되는 일이 있습니다. 이것은,Constructor<T>[] 의 형태 보증에 위반합니다.

반환값:
이 클래스의 public 생성자 을 나타내는 Constructor 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 클래스내의 생성자 에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getField

public Field  getField(String  name)
               throws NoSuchFieldException ,
                      SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 필드를 리플렉트 하는 Field 객체를 돌려줍니다. name 파라미터는, 요구되는 필드의 단순명을 지정하는 String 입니다.

리플렉트 되는 필드는, 다음의 알고리즘으로 결정됩니다. 여기에서는, 이 객체가 나타내는 클래스를 C 로 합니다.

  1. C 가 지정된 이름을 가지는 public 필드를 선언하면(자), 그것이 리플렉트 되는 필드가 됩니다.
  2. 상기의 스텝 1 으로 필드가 발견되지 않았던 경우는, 이 알고리즘을 C 의 각각의 직접 슈퍼 인터페이스에 재귀적으로 적용합니다. 직접 슈퍼 인터페이스는 선언된 순서로 검색됩니다.
  3. 상기의 스텝 1 으로 2 로 필드가 발견되지 않는 경우, 및 C 가 슈퍼 클래스 S 를 가지는 경우는, 이 알고리즘은 S 에 의해 재귀적으로 불려 갑니다. C 가 슈퍼 클래스를 가지지 않는 경우는,NoSuchFieldException 가 throw 됩니다.

「Java 언어 스펙」의 섹션 8.2 로 8.3 을 참조해 주세요.

파라미터:
name - 필드명
반환값:
name 로 지정된 이 클래스의 Field 객체
예외:
NoSuchFieldException - 지정된 이름의 필드가 발견되지 않는 경우
NullPointerException - namenull 의 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 필드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getMethod

public Method  getMethod(String  name,
                        Class <? >... parameterTypes)
                 throws NoSuchMethodException ,
                        SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 메소드를 리플렉트 하는 Method 객체를 돌려줍니다. name 파라미터는, 요구되는 메소드에 단순명을 지정하는 String 입니다. parameterTypes 파라미터는, 메소드의 가파라미터형이 선언된 순서로 식별하는 Class 객체의 배열입니다. parameterTypesnull 의 경우는, 빈 상태(empty)의 배열과 같이 다루어집니다.

name 가 「<init>;」또는 「<clinit>」의 경우는,NoSuchMethodException 가 throw 됩니다. 그렇지 않은 경우, 리플렉트 되는 메소드는, 다음의 알고리즘으로 지정됩니다. 여기에서는, 이 객체가 나타내는 클래스를 C 로 합니다.

  1. C 를 검색해, 「일치하는 메소드」를 찾아냅니다. 일치하는 메소드가 발견되지 않는 경우는, 스텝 1 의 알고리즘이 C 의 슈퍼 클래스에 대해서 재귀적으로 불려 갑니다.
  2. 상기의 스텝 1 으로 메소드가 발견되지 않았던 경우는, C 의 슈퍼 인터페이스를 검색해 일치하는 메소드를 찾아냅니다. 일치하는 메소드가 발견되었을 경우는, 그것이 리플렉트 됩니다.
C: 클래스에서의 일치하는 메소드는, 다음과 같이 해 찾아낼 수 있습니다. C 가, 같은 가파라미터형을 가져, 지정된 이름을 가지는 public 메소드를 다만 1 개(살) 선언하는 경우, 그 메소드는 리플렉트 됩니다. 그러한 메소드가 C 로 복수 발견되어, 그 메소드의 1 개가 그 이외의 어떤 것보다 명확한 반환값의 형태를 가지는 경우에는, 그 메소드가 리플렉트 됩니다. 그렇지 않은 경우는, 상응하는 메소드의 1 개가 임의에 선택됩니다.

Java 언어는, 서명은 같아도 반환값의 형태가 다른 복수의 메소드를 선언하는 클래스를 금지합니다만, Java 가상 머신은 이것을 금지하지 않기 때문에, 클래스내에 일치하는 메소드가 복수 존재하는 일이 있습니다. 가상 머신의 이러한 유연성을 사용해, 다양한 언어 기능을 구현할 수가 있습니다. 예를 들어, 공변의 리턴은 bridge 메소드 로 구현할 수 있습니다. 이 bridge 메소드와 오버라이드(override) 되는 메소드는 같은 서명을 가집니다만, 반환값의 형태는 다양합니다.

「Java 언어 스펙」의 섹션 8.2 로 8.4 를 참조해 주세요.

파라미터:
name - 메소드의 이름
parameterTypes - 파라미터의 리스트
반환값:
지정된 nameparameterTypes 와 일치하는 Method 객체
예외:
NoSuchMethodException - 일치하는 메소드가 발견되지 않는 경우, 혹은 이름이 「<init>」또는 「<clinit>」의 경우
NullPointerException - namenull 의 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 메소드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getConstructor

public Constructor <T > getConstructor(Class <? >... parameterTypes)
                              throws NoSuchMethodException ,
                                     SecurityException 
Class 객체가 나타내는 클래스의 지정된 public 생성자 을 리플렉트 하는 Constructor 객체를 돌려줍니다. parameterTypes 파라미터는, 생성자 의 가파라미터형을 선언순서에 식별하는 Class 객체의 배열입니다. 이 Class 객체가 비 static 문맥에 선언된 내부 클래스를 나타내는 경우, 가파라미터형에는 최초의 파라미터로서 명시적인 둘러싸는 인스턴스가 포함됩니다.

리플렉트 하는 생성자 은,parameterTypes 로 지정된 형태와 일치하는 가파라미터형을 가지는 이 Class 객체가 나타내는 클래스의 public 생성자 입니다.

파라미터:
parameterTypes - 파라미터 배열
반환값:
지정된 parameterTypes 와 일치하는 public 생성자 의 Constructor 객체
예외:
NoSuchMethodException - 일치하는 메소드가 발견되지 않는 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.PUBLIC) 의 호출이 이 생성자 에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredClasses

public Class <? >[] getDeclaredClasses()
                              throws SecurityException 
Class 객체가 나타내는 클래스의 멤버로서 선언된 모든 클래스 및 인터페이스를 리플렉트 하는 Class 객체의 배열을 돌려줍니다. 이것에는, 클래스가 선언한 public, protected, 디폴트 (package) 액세스, 및 private 클래스와 인터페이스는 포함됩니다만, 상속 클래스와 인터페이스는 포함되지 않습니다. 이 메소드는, 클래스가 멤버로서 클래스 또는 인터페이스를 선언하고 있지 않은 경우나, 이 Class 객체가 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는, 길이가 0 의 배열을 돌려줍니다.

반환값:
이 클래스의 선언된 모든 멤버를 나타내는 Class 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 이 클래스내의 선언된 클래스에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredFields

public Field [] getDeclaredFields()
                          throws SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 필드를 리플렉트 하는 Field 객체의 배열을 돌려줍니다. 이것에는, public, protected, 디폴트 (package) 액세스, 및 private 필드는 포함됩니다만, 상속 필드는 포함되지 않습니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 이 메소드는, 클래스 또는 인터페이스가 필드를 선언하지 않는 경우나, 이 Class 객체가 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는, 길이가 0 의 배열을 돌려줍니다.

「Java 언어 스펙」의 섹션 8.2 로 8.3 을 참조해 주세요.

반환값:
이 클래스의 선언된 모든 멤버를 나타내는 Field 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 이 클래스내의 선언된 필드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredMethods

public Method [] getDeclaredMethods()
                            throws SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 메소드를 리플렉트 하는 Method 객체의 배열을 돌려줍니다. 이것에는, public, protected, 디폴트 (package) 액세스, 및 private 메소드는 포함됩니다만, 상속 메소드는 포함되지 않습니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 이 메소드는, 클래스 또는 인터페이스가 메소드를 선언하지 않는 경우나, 이 Class 객체가 원시형, 배열 클래스, 또는 void 를 나타내는 경우는, 길이가 0 의 배열을 돌려줍니다. 클래스 초기화 메소드 <clinit> 는, 반환된 배열에는 없습니다. 클래스가 같은 파라미터형을 가지는 복수의 public 멤버 메소드를 선언하는 경우, 그러한 메소드는, 모두 반환된 배열에 있습니다.

「Java 언어 스펙」의 섹션 8.2 를 참조해 주세요.

반환값:
이 클래스의 선언된 모든 메소드를 나타내는 Method 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 이 클래스내의 선언된 메소드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredConstructors

public Constructor <? >[] getDeclaredConstructors()
                                         throws SecurityException 
Class 객체가 나타내는 클래스에 의해 선언된 모든 생성자 을 리플렉트 하는 Constructor 객체의 배열을 돌려줍니다. 이것들은, public, protected, 디폴트 (package) 액세스, 및 private 생성자 입니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 클래스가 디폴트의 생성자 을 가지는 경우, 이 생성자 은 반환된 배열에 있습니다. 이 메소드는, 이 Class 객체가 인터페이스, 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는 길이가 0 의 배열을 돌려줍니다.

「Java 언어 스펙」의 섹션 8.2 를 참조해 주세요.

반환값:
이 클래스의 선언된 모든 생성자 을 나타내는 Constructor 객체의 배열
예외:
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 이 클래스내의 선언된 생성자 에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredField

public Field  getDeclaredField(String  name)
                       throws NoSuchFieldException ,
                              SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 필드를 리플렉트 하는 Field 객체를 돌려줍니다. name 파라미터는, 요구된 필드의 단순명을 지정하는 String 입니다. 이 메소드가 배열 클래스의 length 필드를 리플렉트 할 것은 없습니다.

파라미터:
name - 필드의 이름
반환값:
이 클래스로 지정된 필드의 Field 객체
예외:
NoSuchFieldException - 지정된 이름의 필드가 발견되지 않는 경우
NullPointerException - namenull 의 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 선언된 필드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredMethod

public Method  getDeclaredMethod(String  name,
                                Class <? >... parameterTypes)
                         throws NoSuchMethodException ,
                                SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 메소드를 리플렉트 하는 Method 객체를 돌려줍니다. name 파라미터는, 요구된 메소드의 단순명을 지정하는 String 입니다. parameterTypes 파라미터는, 메소드의 가파라미터형을 선언순서에 식별하는 Class 객체의 배열입니다. 같은 파라미터형을 가지는 복수의 메소드가 1 개의 클래스에서 선언되어 그러한 메소드의 1 개가 그 이외의 어떤 것보다 명확한 반환값의 형태를 가지는 경우에는, 그 메소드가 돌려주어집니다. 그렇지 않은 경우, 메소드의 1 개가 임의에 선택됩니다. 이름이 「<init>」또는 「<clinit>」의 경우는,NoSuchMethodException 가 throw 됩니다.

파라미터:
name - 메소드의 이름
parameterTypes - 파라미터 배열
반환값:
이 클래스의 지정된 이름과 파라미터와 일치하는 메소드의 Method 객체
예외:
NoSuchMethodException - 일치하는 메소드가 발견되지 않는 경우
NullPointerException - namenull 의 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 선언된 메소드에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getDeclaredConstructor

public Constructor <T > getDeclaredConstructor(Class <? >... parameterTypes)
                                      throws NoSuchMethodException ,
                                             SecurityException 
Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 생성자 을 리플렉트 하는 Constructor 객체를 돌려줍니다. parameterTypes 파라미터는, 생성자 의 가파라미터형을 선언순서에 식별하는 Class 객체의 배열입니다. 이 Class 객체가 비 static 문맥에 선언된 내부 클래스를 나타내는 경우, 가파라미터형에는 최초의 파라미터로서 명시적인 둘러싸는 인스턴스가 포함됩니다.

파라미터:
parameterTypes - 파라미터 배열
반환값:
지정된 파라미터 리스트를 가지는 생성자 의 Constructor 객체
예외:
NoSuchMethodException - 일치하는 메소드가 발견되지 않는 경우
SecurityException - 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
  • s.checkMemberAccess(this, Member.DECLARED) 의 호출이 선언된 생성자 에의 액세스를 허가하지 않는다
  • 호출측의 클래스 로더가 같지 않은지, 현재의 클래스 로더의 상위 클래스 로더와 s.checkPackageAccess() 의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
도입된 버젼:
JDK1. 1

getResourceAsStream

public InputStream  getResourceAsStream(String  name)
지정된 이름의 자원을 찾습니다. 지정된 클래스에 관련한 자원을 검색하는 규칙은, 클래스클래스 로더를 정의해 구현됩니다. 이 메소드는, 이 객체의 클래스 로더에 위양 됩니다. 이 객체가 bootstrap 클래스 로더에 의해 로드 되었을 경우, 메소드는 ClassLoader.getSystemResourceAsStream(java.lang.String) 에 위양 됩니다.

위양의 전에, 이 알고리즘을 사용해 지정된 자원명으로부터 절대 자원명이 구축됩니다.

파라미터:
name - 요구되는 자원의 이름
반환값:
InputStream 객체, 이 이름의 자원이 발견되지 않았던 경우는 null
예외:
NullPointerException - namenull 의 경우
도입된 버젼:
JDK1. 1

getResource

public URL  getResource(String  name)
지정된 이름의 자원을 찾습니다. 지정된 클래스에 관련한 자원을 검색하는 규칙은, 클래스클래스 로더를 정의해 구현됩니다. 이 메소드는, 이 객체의 클래스 로더에 위양 됩니다. 이 객체가 bootstrap 클래스 로더에 의해 로드 되었을 경우, 메소드는 ClassLoader.getSystemResource(java.lang.String) 에 위양 됩니다.

위양의 전에, 이 알고리즘을 사용해 지정된 자원명으로부터 절대 자원명이 구축됩니다.

파라미터:
name - 요구되는 자원의 이름
반환값:
URL 객체, 이 이름의 자원이 발견되지 않았던 경우는 null
도입된 버젼:
JDK1. 1

getProtectionDomain

public ProtectionDomain  getProtectionDomain()
이 클래스의 ProtectionDomain 를 돌려줍니다. 시큐리티 매니저가 인스톨 되고 있으면(자), 이 메소드는 우선 시큐리티 매니저의 checkPermission 메소드를 RuntimePermission("getProtectionDomain") 액세스권을 사용해 호출하는 것에 의해 ProtectionDomain 를 문제 없게 취득할 수 있는 것을 확인합니다.

반환값:
이 클래스의 ProtectionDomain
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkPermission 메소드가 ProtectionDomain 의 취득을 허가하지 않는 경우
도입된 버젼:
1.2
관련 항목:
ProtectionDomain , SecurityManager.checkPermission(java.security.Permission) , RuntimePermission

desiredAssertionStatus

public boolean desiredAssertionStatus()
이 메소드의 호출시에 이 클래스를 초기화하는 경우, 클래스에 할당할 수 있는 선언 상태를 돌려줍니다. 이 클래스의 선언 상태가 설정되어 있다면, 최신의 설정이 돌려주어집니다. 그 이외의 경우, 이 클래스에 관련하는 패키지의 디폴트 선언 상태가 존재할 때, 최적인 패키지의 디폴트 선언 상태의 최신의 설정이 돌려주어집니다. 그 이외의 경우, 이 클래스가 시스템 클래스가 아닌 (즉 클래스 로더를 보관 유지한다) 때는, 클래스 로더의 디폴트 선언 상태가 돌려주어집니다. 그 이외의 경우, 시스템 클래스의 디폴트 선언 상태가 돌려주어집니다.  

이것은 JRE 자체로 사용하기 위한 메소드이기 (위해)때문에, 프로그래머가 이 메소드를 필요로 하는 것은 거의 없습니다 (이 메소드에 의해, 초기화시에 선언이 유효한가 어떤가를 클래스를 판별할 수 있다). 지정된 클래스의 초기화시에, 이 메소드가, 클래스에 관련지을 수 있었던 실제의 선언 상태를 돌려준다고는 할 수 없는 것에 유의해 주세요.

반환값:
대상으로 하는, 지정된 클래스의 선언 상태
도입된 버젼:
1.4
관련 항목:
ClassLoader.setClassAssertionStatus(java.lang.String, boolean) , ClassLoader.setPackageAssertionStatus(java.lang.String, boolean) , ClassLoader.setDefaultAssertionStatus(boolean)

isEnum

public boolean isEnum()
이 클래스가 원시 코드로 enum 로서 선언되었을 경우만 true 를 돌려줍니다.

반환값:
이 클래스가 원시 코드로 enum 로서 선언되었을 경우만 true
도입된 버젼:
1.5

getEnumConstants

public T [] getEnumConstants()
이 enum 클래스의 요소를 돌려주는지, 이 Class 객체가 enum 형을 나타내지 않는 경우는 null 를 돌려줍니다.

반환값:
이 Class 객체로 나타내진 enum 클래스로 구성되는 값이 포함되고 있는 배열 (선언된 순서). 이 Class 객체가 enum 형을 나타내지 않는 경우는 null
도입된 버젼:
1.5

cast

public T  cast(Object  obj)
Class 객체가 나타내는 클래스 또는 인터페이스에 객체를 캐스트 합니다.

파라미터:
obj - 캐스트 되는 객체
반환값:
캐스트 후의 객체. 객체가 null 의 경우는 null
예외:
ClassCastException - 지정된 객체가 null 이외여, 형태 T 에 할당할 수 없는 경우
도입된 버젼:
1.5

asSubclass

public <U> Class <?  extends U> asSubclass(Class <U> clazz)
지정된 클래스 객체에 의해 나타내지는 클래스의 서브 클래스를 나타내기 위해서(때문에) 이 Class 객체를 캐스트 합니다. 캐스트가 유효한 것을 확인해, 유효하지 않은 경우는 ClassCastException 를 throw 합니다. 이 메소드가 성공하면(자), 이 클래스 객체에의 참조를 돌려줍니다.

이 메소드는, 받는 측의 Class 객체를 제한하는 API 에 건네주기 위해서(때문에), 클라이언트가 Class 객체의 형태를 네로우 변환할 필요가 있는 경우에 도움이 됩니다. (총칭형은 이레이쟈에 의해 구현되므로) 캐스트의 정확성을 실행시에 확인할 수 없기 때문에, 캐스트에 의해 컴파일시의 경고가 생성됩니다.

반환값:
지정된 클래스 객체의 서브 클래스를 나타내기 위해서(때문에) 캐스트 된, 이 Class 객체
예외:
ClassCastException - 이 Class 객체가 지정된 클래스의 서브 클래스를 나타내지 않는 경우 ( 「서브 클래스」는 클래스 자체를 포함한다)
도입된 버젼:
1.5

getAnnotation

public <A extends Annotation > A getAnnotation(Class <A> annotationClass)
인터페이스 AnnotatedElement 의 기술:
지정된 형태의 주석이 존재하는 경우는, 지정된 형태의 요소의 주석을 돌려줍니다.

정의:
인터페이스 AnnotatedElement 내의 getAnnotation
파라미터:
annotationClass - 주석형에 대응하는 Class 객체
반환값:
존재하는 경우는, 지정된 주석형의 요소의 주석. 그렇지 않은 경우는 null
예외:
NullPointerException - 지정된 주석 클래스가 null 의 경우
도입된 버젼:
1.5

isAnnotationPresent

public boolean isAnnotationPresent(Class <?  extends Annotation > annotationClass)
인터페이스 AnnotatedElement 의 기술:
지정된 형태의 주석이 이 요소에 존재하는 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다. 이 메소드는, 주로 마커 주석에의 간이 액세스를 목적으로 설계되고 있습니다.

정의:
인터페이스 AnnotatedElement 내의 isAnnotationPresent
파라미터:
annotationClass - 그렇지 않은 경우는 null 를 돌려줍니다. 주석형에 대응하는 Class 객체
반환값:
지정된 주석형의 주석이 이 요소에 존재하는 경우는 true, 그렇지 않은 경우는 false
예외:
NullPointerException - 지정된 주석 클래스가 null 의 경우
도입된 버젼:
1.5

getAnnotations

public Annotation [] getAnnotations()
인터페이스 AnnotatedElement 의 기술:
이 요소에 존재하는 모든 주석을 돌려줍니다 (이 요소에 주석이 없는 경우는 길이 제로의 배열을 돌려줍니다). 이 변경은, 다른 호출해 바탕으로 반환된 배열에 영향을 미치지 않습니다.

정의:
인터페이스 AnnotatedElement 내의 getAnnotations
반환값:
이 요소에 존재하는 모든 주석
도입된 버젼:
1.5

getDeclaredAnnotations

public Annotation [] getDeclaredAnnotations()
인터페이스 AnnotatedElement 의 기술:
이 요소에 직접 존재하는 모든 주석을 돌려줍니다. 이 인터페이스에 있는 것 외의 메소드와는 달라, 이 메소드는 상속된 주석을 무시합니다 (이 요소에 주석이 직접 존재하지 않는 경우는 길이 제로의 배열을 돌려준다). 이 메소드의 호출원래는, 반환된 배열을 자유롭게 변경할 수 있습니다. 이 변경은, 다른 호출해 바탕으로 반환된 배열에 영향을 미치지 않습니다.

정의:
인터페이스 AnnotatedElement 내의 getDeclaredAnnotations
반환값:
이 요소에 직접 존재하는 모든 주석
도입된 버젼:
1.5

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.