JavaTM Platform
Standard Ed. 6

java.lang.reflect
클래스 Method

java.lang.Object 
  상위를 확장 java.lang.reflect.AccessibleObject 
      상위를 확장 java.lang.reflect.Method
모든 구현된 인터페이스:
AnnotatedElement , GenericDeclaration , Member


public final class Method
extends AccessibleObject
implements GenericDeclaration , Member

Method 는, 클래스 또는 인터페이스상의 단일의 메소드에 관한 정보와 그 액세스를 제공합니다. 리플렉트 된 메소드는, 클래스 메소드 또는 인스턴스 메소드 (추상 메소드를 포함한다)가 됩니다.

Method 는, 열매 파라미터를 기본으로 되는 메소드의 가파라미터와 일치시키는 경우에, 확장 변환이 발생하는 것을 허가합니다만, 축소 변환이 발생하는 경우는 IllegalArgumentException 을 throw 합니다.

관련 항목:
Member , Class , Class.getMethods() , Class.getMethod(String, Class[]) , Class.getDeclaredMethods() , Class.getDeclaredMethod(String, Class[])

필드의 개요
 
인터페이스 java.lang.reflect. Member 로부터 상속된 필드
DECLARED , PUBLIC
 
메소드의 개요
 boolean equals (Object  obj)
          Method 가 지정된 객체와 비교합니다.
<T extends Annotation >
T
getAnnotation (Class <T> annotationClass)
          지정된 형태의 주석이 존재하는 경우는, 지정된 형태의 요소의 주석을 돌려줍니다.
 Annotation [] getDeclaredAnnotations ()
          이 요소에 직접 존재하는 모든 주석을 돌려줍니다.
 Class <? > getDeclaringClass ()
          이 Method 객체에 의해 나타내지는 메소드를 선언하는 클래스 또는 인터페이스를 나타내는 Class 객체를 돌려줍니다.
 Object getDefaultValue ()
          이 Method 인스턴스에 의해 나타내지는 주석 멤버의 디폴트 값를 돌려줍니다.
 Class <? >[] getExceptionTypes ()
          이 Method 객체로 나타내지는 기본으로 되는 메소드에 의해 throw 되도록(듯이) 선언되고 있는, 예외의 타입을 나타내는 Class 객체의 배열을 돌려줍니다.
 Type [] getGenericExceptionTypes ()
          이 Method 객체에 의해 throw 되도록(듯이) 선언되고 있는, 예외를 나타내는 Type 객체의 배열을 돌려줍니다.
 Type [] getGenericParameterTypes ()
          Method 객체에 의해 나타내지는 메소드의 가파라미터형을 선언순서로 나타내는 Type 객체의 배열을 돌려줍니다.
 Type getGenericReturnType ()
          이 Method 객체에 의해 나타내지는 메소드의 가짜의 반환값의 형태를 나타내는 Type 객체를 돌려줍니다.
 int getModifiers ()
          Method 객체에 의해 나타내지는 메소드의 Java 언어 수식자를 정수로서 돌려줍니다.
 String getName ()
          이 Method 객체가 나타내는 메소드의 이름을 String 로서 돌려줍니다.
 Annotation [][] getParameterAnnotations ()
          이 Method 객체에 의해 나타내진 메소드의 가파라미터의 주석을 나타내는 배열의 배열을, 선언순서에 돌려줍니다.
 Class <? >[] getParameterTypes ()
          Method 객체에 의해 나타내지는 메소드의 가파라미터형을 선언순서로 나타내는 Class 객체의 배열을 돌려줍니다.
 Class <? > getReturnType ()
          이 Method 객체에 의해 나타내지는 메소드의 가짜의 반환값의 형태를 나타내는 Class 객체를 돌려줍니다.
 TypeVariable <Method >[] getTypeParameters ()
          GenericDeclaration 객체에 의해 나타내지는 총칭 선언으로 선언된 형태 변수를 나타내는 TypeVariable 객체의 배열을 선언순서에 돌려줍니다.
 int hashCode ()
          Method 의 해시 코드를 돌려줍니다.
 Object invoke (Object  obj, Object ... args)
          이 Method 객체에 의해 나타내지는 기본이 되는 메소드를, 지정한 객체에 대해서 지정한 파라미터로 호출합니다.
 boolean isBridge ()
          이 메소드가 중개역의 메소드인 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.
 boolean isSynthetic ()
          이 메소드가 합성 메소드인 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.
 boolean isVarArgs ()
          이 메소드가 가변수의 인수를 취하도록(듯이) 선언되고 있었을 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.
 String toGenericString ()
          형태 파라미터를 포함한, 이 Method 를 기술하는 캐릭터 라인을 돌려줍니다.
 String toString ()
          이 Method 를 기술하는 캐릭터 라인을 돌려줍니다.
 
클래스 java.lang.reflect. AccessibleObject 로부터 상속된 메소드
getAnnotations , isAccessible , isAnnotationPresent , setAccessible , setAccessible
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

메소드의 상세

getDeclaringClass

public Class <? > getDeclaringClass()
Method 객체에 의해 나타내지는 메소드를 선언하는 클래스 또는 인터페이스를 나타내는 Class 객체를 돌려줍니다.

정의:
인터페이스 Member 내의 getDeclaringClass
반환값:
기본이 되는 멤버의 선언 클래스를 나타내는 객체

getName

public String  getName()
Method 객체가 나타내는 메소드의 이름을 String 로서 돌려줍니다.

정의:
인터페이스 Member 내의 getName
반환값:
기본이 되는 멤버의 단순명

getModifiers

public int getModifiers()
Method 객체에 의해 나타내지는 메소드의 Java 언어 수식자를 정수로서 돌려줍니다. 수식자의 복호화에는,Modifier 클래스를 사용할 필요가 있습니다.

정의:
인터페이스 Member 내의 getModifiers
반환값:
기본이 되는 멤버의 Java 언어 수식자
관련 항목:
Modifier

getTypeParameters

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

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

getReturnType

public Class <? > getReturnType()
Method 객체에 의해 나타내지는 메소드의 가짜의 반환값의 형태를 나타내는 Class 객체를 돌려줍니다.

반환값:
이 객체가 나타내는 메소드의 반환값의 형태

getGenericReturnType

public Type  getGenericReturnType()
Method 객체에 의해 나타내지는 메소드의 가짜의 반환값의 형태를 나타내는 Type 객체를 돌려줍니다.

반환값의 형태가, 파라미터화 된 형태의 경우, 반환된 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 정확하게 반영하지 않으면 안됩니다.

반환값의 형태가, 형태 변수 또는 파라미터화 된 형태의 경우, 반환값의 형태는 작성됩니다. 그렇지 않은 경우, 예외 타입은 해결됩니다.

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

getParameterTypes

public Class <? >[] getParameterTypes()
Method 객체에 의해 나타내지는 메소드의 가파라미터형을 선언순서로 나타내는 Class 객체의 배열을 돌려줍니다. 기본으로 되는 메소드에 파라미터가 설정되어 있지 않은 경우에는, 길이 0 의 배열이 돌려주어집니다.

반환값:
이 객체가 나타내는 메소드의 파라미터형

getGenericParameterTypes

public Type [] getGenericParameterTypes()
Method 객체에 의해 나타내지는 메소드의 가파라미터형을 선언순서로 나타내는 Type 객체의 배열을 돌려줍니다. 기본으로 되는 메소드에 파라미터가 설정되어 있지 않은 경우에는, 길이 0 의 배열이 돌려주어집니다.

가파라미터형이, 파라미터화 된 형태의 경우, 반환되는 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 정확하게 반영하지 않으면 안됩니다.

가파라미터형이, 형태 변수 또는 파라미터화 된 형태의 경우, 가파라미터형은 작성됩니다. 그렇지 않은 경우, 예외 타입은 해결됩니다.

반환값:
기본이 되는 메소드의 가파라미터형을 나타내는 선언순서의 Type 의 배열
예외:
GenericSignatureFormatError - 이 총칭 메소드의 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
TypeNotPresentException - 기본이 되는 메소드의 파라미터형중 한쪽이, 존재하지 않는 형태 선언을 참조하는 경우
MalformedParameterizedTypeException - 기본이 되는 메소드의 파라미터형중 한쪽이, 하등의 이유에 의해 인스턴스화할 수 없는 파라미터화 된 형태를 참조하는 경우
도입된 버젼:
1.5

getExceptionTypes

public Class <? >[] getExceptionTypes()
Method 객체로 나타내지는 기본으로 되는 메소드에 의해 throw 되도록(듯이) 선언되고 있는, 예외의 타입을 나타내는 Class 객체의 배열을 돌려줍니다. 메소드가 throws 절로 예외를 선언하고 있지 않은 경우는, 길이 0 의 배열을 돌려줍니다.

반환값:
선언되는 예외 타입. 이 객체가 나타내는 메소드에 의해 throw 된다

getGenericExceptionTypes

public Type [] getGenericExceptionTypes()
Method 객체에 의해 throw 되도록(듯이) 선언되고 있는, 예외를 나타내는 Type 객체의 배열을 돌려줍니다. 기본이 되는 메소드가 throws 절로 예외를 선언하고 있지 않은 경우는, 길이 0 의 배열을 돌려줍니다.

예외 타입이, 파라미터화 된 형태의 경우, 반환되는 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 정확하게 반영하지 않으면 안됩니다.

예외 타입이, 형태 변수 또는 파라미터화 된 형태의 경우, 예외 타입은 작성됩니다. 그렇지 않은 경우, 예외 타입은 해결됩니다.

반환값:
기본이 되는 메소드에 의해 throw 된 예외 타입을 나타내는 Type 의 배열
예외:
GenericSignatureFormatError - 이 총칭 메소드의 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
TypeNotPresentException - 기본이 되는 메소드의 throws 절이 존재하지 않는 형태 선언을 참조하는 경우
MalformedParameterizedTypeException - 기본이 되는 메소드의 throws 절이, 하등의 이유에 의해 인스턴스화할 수 없는 파라미터화 된 형태를 참조하는 경우
도입된 버젼:
1.5

equals

public boolean equals(Object  obj)
Method 가 지정된 객체와 비교합니다. 객체가 같은 경우에는 true 를 돌려줍니다. 2 개의 Methods 는, 같은 클래스에서 선언되어 같은 이름, 가파라미터형, 및 반환값의 형태를 보관 유지하는 경우에 같게 됩니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 참조 객체
반환값:
obj 인수로 지정된 객체와 이 객체가 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
Method 의 해시 코드를 돌려줍니다. 이것은, 기본이 되는 메소드의 선언 클래스명과 그 메소드명의 해시 코드의 배타적 논리합으로서 계산됩니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 객체의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toString

public String  toString()
Method 를 기술하는 캐릭터 라인을 돌려줍니다. 이 캐릭터 라인의 서식은, 존재하는 경우는 메소드의 액세스 수식자, 메소드의 반환값형, 공백, 메소드를 선언하는 클래스, 피리어드, 메소드명, 괄호로 둘러싸인 콤마 단락의 메소드의 가파라미터형 리스트가 차례로 계속됩니다. 메소드가 체크 끝난 예외를 throw 하는 경우, 파라미터 리스트에는, 공백, throw 하는 워드, throw 되는 예외 타입의 콤마 단락의 리스트가 차례로 계속됩니다. 다음에 예를 나타냅니다.
public boolean java.lang.Object.equals(java.lang.Object)
 

액세스 수식자는, 「Java 언어 스펙」으로 규정된 정규의 순서로 포함됩니다. 즉, 최초로 public,protected, 또는 private, 계속되어 그 이외의 수식자가 abstract,static,final,synchronized native 의 순서로 놓여집니다.

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

toGenericString

public String  toGenericString()
형태 파라미터를 포함한, 이 Method 를 기술하는 캐릭터 라인을 돌려줍니다. 이 캐릭터 라인의 서식은, (존재하는 경우에는) 메소드의 액세스 수식자, 산괄호로 둘러싸인 콤마 단락의 메소드의 형태 파라미터 리스트, 메소드의 총칭 반환값형, 공백, 메소드를 선언하는 클래스, 피리어드, 메소드명, 괄호로 둘러싸인 콤마 단락의 메소드의 총칭가파라미터형의 리스트가 차례로 계속됩니다. 액세스 수식자끼리, 및 액세스 수식자와 형태 파라미터나 반환값과의 단락에는 공백 문자가 사용됩니다. 형태 파라미터가 없는 경우, 형태 파라미터의 리스트는 생략 됩니다. 형태 파라미터의 리스트가 존재하는 경우, 리스트와 클래스명은 공백 문자로 단락지어집니다. 메소드가 예외를 throw 하도록(듯이) 선언되고 있는 경우, 파라미터의 리스트의 후에 공백, 「throws」라고 하는 캐릭터 라인, throw 되는 총칭 예외형의 콤마 단락의 리스트가 차례로 계속됩니다. 형태 파라미터가 없는 경우, 형태 파라미터의 리스트는 생략 됩니다.

액세스 수식자는, 「Java 언어 스펙」으로 규정된 정규의 순서로 포함됩니다. 즉, 최초로 public,protected, 또는 private, 계속되어 그 이외의 수식자가 abstract,static,final,synchronized native 의 순서로 놓여집니다.

반환값:
형 파라미터를 포함한, 이 Method 를 기술하는 캐릭터 라인
도입된 버젼:
1.5

invoke

public Object  invoke(Object  obj,
                     Object ... args)
              throws IllegalAccessException ,
                     IllegalArgumentException ,
                     InvocationTargetException 
Method 객체에 의해 나타내지는 기본이 되는 메소드를, 지정한 객체에 대해서 지정한 파라미터로 호출합니다. 개별의 파라미터는, 프리미티브(primitive)가파라미터와 일치시키기 위해서(때문에) 자동적으로 랩 해제되어 프리미티브(primitive) 및 참조 파라미터는 양쪽 모두 필요에 따라서 메소드 호출 변환의 대상이 됩니다.

기본이 되는 메소드가 static 의 경우, 지정된 obj 인수는 무시됩니다. null 도 지정할 수 있습니다.

기본이 되는 메소드에 의해 요구되는 가파라미터수가 0 의 경우, 지정된 args 배열은 길이 0 또는 null 가 됩니다.

기본이 되는 메소드가 인스턴스 메소드의 경우, 동적 메소드 룩 업을 사용해 호출을 해 타겟 객체의 실행시의 형태에 근거해 오버라이드(override)가 실행됩니다 ( 「Java 언어 스펙, 제 2 판」의 섹션 15.12. 4.4 를 참조).

기본이 되는 메소드가 static 의 경우, 메소드를 선언한 클래스가 아직 초기화되어 있지 않을 때는, 이 클래스가 초기화됩니다.

메소드가 정상적으로 완료하면(자), 메소드가 돌려주는 값이 호출해 측에 돌려주어집니다. 이 값이 원시형의 경우, 최초로 객체내에 적절한 방법으로 랩 됩니다. 다만, 값이 원시형의 배열형을 가지는 경우, 그 배열의 요소는 객체에 랩 되지 않습니다. 즉, 원시형의 배열이 돌려주어집니다. 기본이 되는 메소드의 반환값의 형태가 void 의 경우, 호출은 null 를 돌려줍니다.

파라미터:
obj - 기본이 되는 메소드의 호출원의 객체
args - 메소드 호출에 사용되는 인수
반환값:
이 객체가 나타내는 메소드를, 파라미터 args 를 사용해 obj 에 발송 한 결과
예외:
IllegalAccessException - 이 Method 객체가 Java 언어 액세스 제어를 실시해, 기본이 되는 메소드에 액세스 할 수 없는 경우
IllegalArgumentException - 메소드가 인스턴스 메소드이며, 지정된 객체 인수가 기본이 되는 메소드 (또는 그 서브 클래스나 구현측)를 선언하는 클래스 또는 인터페이스의 인스턴스가 아닌 경우, 열매 파라미터수와 가파라미터수가 다른 경우, 프리미티브(primitive) 인수의 랩 해제 변환이 실패했을 경우, 또는 랩 해제 후, 메소드 호출 변환에 의해 파라미터치를 대응하는 가파라미터형으로 변환할 수 없는 경우
InvocationTargetException - 기본이 되는 메소드가 예외를 throw 하는 경우
NullPointerException - 지정된 객체가 null 로, 메소드가 인스턴스 메소드의 경우
ExceptionInInitializerError - 이 메소드에 의한 초기화가 실패했을 경우

isBridge

public boolean isBridge()
이 메소드가 중개역의 메소드인 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.

반환값:
이 메소드가, 「Java 언어 스펙」으로 정의되고 있는 중개역의 메소드인 경우에 한정해, true
도입된 버젼:
1.5

isVarArgs

public boolean isVarArgs()
이 메소드가 가변수의 인수를 취하도록(듯이) 선언되고 있었을 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.

반환값:
이 메소드가 가변수의 인수를 취하도록(듯이) 선언되고 있었을 경우에 한정해 true
도입된 버젼:
1.5

isSynthetic

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

정의:
인터페이스 Member 내의 isSynthetic
반환값:
이 메소드가, 「Java 언어 스펙」으로 정의되고 있는 합성 메소드인 경우에 한정해, true
도입된 버젼:
1.5

getAnnotation

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

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

getDeclaredAnnotations

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

정의:
인터페이스 AnnotatedElement 내의 getDeclaredAnnotations
오버라이드(override):
클래스 AccessibleObject 내의 getDeclaredAnnotations
반환값:
이 요소에 직접 존재하는 모든 주석
도입된 버젼:
1.5

getDefaultValue

public Object  getDefaultValue()
Method 인스턴스에 의해 나타내지는 주석 멤버의 디폴트 값를 돌려줍니다. 원시형의 멤버의 경우, 대응하는 래퍼형의 인스턴스가 돌려주어집니다. 멤버에게 디폴트 값를 관련지을 수 있지 않은 경우, 또는 메소드 인스턴스가 주석형의 선언된 멤버를 나타내지 않는 경우는 null 를 돌려줍니다.

반환값:
Method 인스턴스에 의해 나타내진 주석 멤버의 디폴트 값
예외:
TypeNotPresentException - 주석이 Class 형의 경우로, 디폴트의 클래스치의 정의가 발견되지 않는 경우
도입된 버젼:
1.5

getParameterAnnotations

public Annotation [][] getParameterAnnotations()
Method 객체에 의해 나타내진 메소드의 가파라미터의 주석을 나타내는 배열의 배열을, 선언순서에 돌려줍니다. 기본이 되는 메소드가 파라미터를 포함하지 않는 경우는, 길이 제로의 배열을 돌려줍니다. 메소드에 1 개 이상의 파라미터가 있는 경우, 주석을 포함하지 않는 파라미터 마다 길이 제로의 상자의 배열을 돌려줍니다. 반환된 배열에 포함되는 주석 객체는 직렬화할 수 있습니다. 이 메소드의 호출원래는, 반환된 배열을 자유롭게 변경할 수 있습니다. 이 변경은, 다른 호출해 바탕으로 반환된 배열에 영향을 미치지 않습니다.

반환값:
이 Method 객체에 의해 나타내진 메소드의 가파라미터의 주석을 나타내는 선언순서의 배열의 배열
도입된 버젼:
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 도 참조해 주세요.