|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
java.lang.Object | +--java.lang.Class
클래스 Class
의 인스턴스는 실행중의 Java 어플리케이션의 클래스 및 인터페이스를 나타냅니다. (와)과 같이 어느 배열도, 같은 요소형 및 차원수를 가지는 배열에 의해 공유되는 Class
오브젝트로서 리후레크트 되는 클래스에 속합니다. Java 의 원시적형 (boolean
,byte
,char
,short
,int
,long
,float
,double
)외, 키워드 void
도 Class
오브젝트로 나타내집니다.
Class
에는 public constructor 은 없습니다. Class
오브젝트는 클래스가 로드 될 때에 Java 가상 머신에 의해, 및 클래스 로더의 defineClass
메소드의 호출에 의해 자동적으로 구축됩니다.
이하의 예에서는 Class
오브젝트를 사용해 오브젝트의 클래스명을 출력합니다.
void printClassName(Object obj) { System.out.println("The class of " + obj + " is " + obj.getClass(). getName()); }
ClassLoader.defineClass(byte[], int, int)
,
직렬화 된 형식 메소드의 개요 | |
boolean |
desiredAssertionStatus ()
이 메소드의 호출시에 이 클래스를 초기화하는 경우, 클래스에 할당할 수 있는 선언 스테이터스를 돌려줍니다. |
static Class |
forName (String className)
지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있던, Class 오브젝트를 돌려줍니다. |
static Class |
forName (String name,
boolean initialize,
ClassLoader loader)
지정된 클래스 로더를 사용해, 지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있었던 Class 오브젝트를 돌려줍니다. |
Class [] |
getClasses ()
이 Class 오브젝트가 나타내는 클래스의 멤버인, 모든 public 클래스 및 인터페이스를 나타내는 Class 오브젝트를 저장하고 있는 배열을 돌려줍니다. |
ClassLoader |
getClassLoader ()
클래스의 클래스 로더를 돌려줍니다. |
Class |
getComponentType ()
배열의 컴퍼넌트형을 나타내는 Class 를 돌려줍니다. |
Constructor |
getConstructor (Class [] parameterTypes)
이 Class 오브젝트가 나타내는 클래스의 지정된 public constructor를 리후레크트 하는 Constructor 오브젝트를 돌려줍니다. |
Constructor [] |
getConstructors ()
이 Class 오브젝트가 나타내는 클래스의 모든 public constructor를 리후레크트 하는 Constructor 오브젝트를 저장하고 있는 배열을 돌려줍니다. |
Class [] |
getDeclaredClasses ()
이 Class 오브젝트가 나타내는 클래스의 멤버로서 선언된, 모든 클래스 및 인터페이스를 리후레크트 하는 Class 오브젝트의 배열을 돌려줍니다. |
Constructor |
getDeclaredConstructor (Class [] parameterTypes)
이 Class 오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 constructor를 리후레크트 하는 Constructor 오브젝트를 돌려줍니다. |
Constructor [] |
getDeclaredConstructors ()
이 Class 오브젝트가 나타내는 클래스가 선언한 모든 constructor를 리후레크트 하는 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 오브젝트를 돌려줍니다. |
Field |
getField (String name)
이 Class 오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 필드를 리후레크트 하는 Field 오브젝트를 돌려줍니다. |
Field [] |
getFields ()
이 Class 오브젝트가 나타내는 클래스 또는 인터페이스의 모든 액세스 가능한 public 필드를 리후레크트 하는 Field 오브젝트를 보관 유지하고 있는 배열을 돌려줍니다. |
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 ()
이 클래스의 서명자를 취득합니다. |
Class |
getSuperclass ()
이 Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시적형, 또는 void)의 슈퍼 클래스를 나타내는 Class 를 돌려줍니다. |
boolean |
isArray ()
이 Class 오브젝트가 배열 클래스를 나타낼지 어떨지를 판정합니다. |
boolean |
isAssignableFrom (Class cls)
이 Class 오브젝트가 나타내는 클래스 또는 인터페이스가, 지정된 Class 파라미터가 나타내는 클래스 또는 인터페이스와 동일한지 어떤지 혹은 그 슈퍼 클래스 혹은 슈퍼 인터페이스일지 어떨지를 판정합니다. |
boolean |
isInstance (Object obj)
지정된 Object 가, 이 Class 가 나타내는 오브젝트와 대입 호환의 관계에 있을지 어떨지를 판정합니다. |
boolean |
isInterface ()
지정된 Class 오브젝트가 인터페이스형을 나타낼지 어떨지를 판정합니다. |
boolean |
isPrimitive ()
지정된 Class 오브젝트가 원시적형을 나타낼지 어떨지를 판정합니다.
|
Object |
newInstance ()
이 Class 오브젝트가 나타내는 클래스의 새로운 인스턴스를 생성합니다. |
String |
toString ()
오브젝트를 캐릭터 라인으로 변환합니다. |
클래스 java.lang. Object 에서 상속받은 메소드 |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
메소드의 상세 |
public String toString()
getName
가 돌려주는 형식의 완전 지정된 클래스명이라고 하는 구성으로 표현됩니다. 이 Class
오브젝트가 원시적형을 나타내는 경우, 이 메소드는 원시적형의 이름을 돌려주어, void 를 나타내는 경우는 「void」를 돌려줍니다.
Object
내의 toString
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
- 요구하는 클래스의 완전 지정된 이름
Class
오브젝트
LinkageError
- 링키지에 실패했을 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화에 실패했을 경우
ClassNotFoundException
- 클래스가 발견되지 않았던 경우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")
다만, 이 메소드는 「Java 언어 사양」의 섹션 12.2, 12.3, 12.4 로 지정된, 로드, 링크, 또는 초기화에 관련하는 에러를 슬로우 합니다. 이 메소드는 요구된 클래스가 호출해 옆으로부터 액세스 가능한지 어떤지를 체크하지 않습니다.Class.forName("Foo", true, this.getClass(). getClassLoader())
loader
가 null
로, 시큐러티 매니저가 존재해, 호출측의 클래스 로더가 null 가 아닌 경우, 이 메소드는 시큐러티 매니저의 checkPermission
메소드를 RuntimePermission("getClassLoader")
의 액세스권을 사용해 호출하는 것에 의해, bootstrap 클래스 로더에 문제 없게 액세스 할 수 있는 것을 프로텍션합니다.
name
- 요구하는 클래스의 완전 지정된 이름initialize
- 클래스를 초기화할 필요의 유무loader
- 클래스의 로드원일 필요가 있는 클래스 로더
LinkageError
- 링키지에 실패했을 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화에 실패했을 경우
ClassNotFoundException
- 지정된 클래스 로더에 의해 클래스가 발견되지 않았던 경우forName(String)
,
ClassLoader
public Object newInstance() throws InstantiationException , IllegalAccessException
new
식에 하늘의 인수 리스트를 지정했을 경우와 같이, 클래스의 인스턴스가 생성됩니다. 클래스는 초기화되어 있지 않으면 초기화됩니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
IllegalAccessException
- 클래스 또는 그 null constructor 에 액세스 할 수 없는 경우
InstantiationException
- 이 Class
가 abstract 클래스, 인터페이스, 배열 클래스, 원시적형, 또는 void 를 나타내는 경우, 클래스가 null constructor를 보관 유지하지 않는 경우, 혹은 인스턴스의 생성이 다른 이유로써 실패했을 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화가 실패했을 경우
SecurityException
- 신규 인스턴스를 생성하는 액세스권이 없는 경우public boolean isInstance(Object obj)
Object
가, 이 Class
가 나타내는 오브젝트와 대입 호환의 관계에 있을지 어떨지를 판정합니다. 이 메소드는 Java 언어의 instanceof
연산자와 동적으로 등가입니다. 지정된 Object
인수가 null 는 아니고, 이 Class
오브젝트가 나타내는 참조형에 ClassCastException
를 슬로우 하는 일 없이 캐스트 할 수 있는 경우, 이 메소드는 true
를 돌려줍니다. 그렇지 않은 경우는 false
를 돌려줍니다.
특히, 이 Class
오브젝트가 선언 클래스를 나타낼 때는 이 메소드는 지정된 Object
인수가 표현 클래스 (또는 그 서브 클래스)의 인스턴스의 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다. 이 Class
오브젝트가 배열 클래스를 나타낼 때는 항등변환 또는 확장 참조 변환을 이용해 지정된 Object
인수를 배열 클래스의 오브젝트로 변환할 수 있는 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다. 이 Class
오브젝트가 인터페이스를 나타낼 때는 지정된 Object
인수의 클래스 또는 슈퍼 클래스가 이 인터페이스를 구현하는 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다. 이 Class
오브젝트가 원시적형을 나타내는 경우는 false
를 돌려줍니다.
obj
- 체크 대상의 오브젝트
obj
가 이 클래스의 인스턴스의 경우는 truepublic 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 의 경우public boolean isInterface()
Class
오브젝트가 인터페이스형을 나타낼지 어떨지를 판정합니다.
true
, 그렇지 않은 경우는 false
public boolean isArray()
Class
오브젝트가 배열 클래스를 나타낼지 어떨지를 판정합니다.
true
, 그렇지 않은 경우는 false
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
오브젝트로 한정됩니다.
Boolean.TYPE
,
Character.TYPE
,
Byte.TYPE
,
Short.TYPE
,
Integer.TYPE
,
Long.TYPE
,
Float.TYPE
,
Double.TYPE
,
Void.TYPE
public String getName()
Class
오브젝트가 나타내는 엔티티 (클래스, 인터페이스, 배열 클래스, 원시적형, 또는 void)의 이름을,String
로서 돌려줍니다.
이 클래스 오브젝트가 배열형이 아닌 참조형을 나타내는 경우, 「Java Language Specification, Second Edition」로 지정된 것에 따라, 클래스의 바이너리명이 돌려주어집니다. 이 클래스 오브젝트가 원시적형 또는 void 를 나타내는 경우, 다음의 겉(표)에 나타내는 이름이 돌려주어집니다. 요소형의 이름의 encode는 다음과 같이 됩니다.
이 클래스 오브젝트가 배열의 클래스를 나타내는 경우, 이름의 내부 형식에서는 선두에 배열의 상자의 깊이를 나타내는 몇개의 "[" 캐릭터가 붙어, 그 후에 위에 나타낸 요소형의 이름이 계속됩니다. 따라서,B byte C char D double F float I int J long Lclassname; 클래스 또는 인터페이스 S short Z boolean V void
(은)는 "(new Object[3]). getClass(). getName()
[Ljava.lang.Object;
" 를 돌려주어,
(은)는 "(new int[3][4][5][6][7][8][9]). getClass(). getName()
[[[[[[[I
" 를 돌려줍니다. 클래스명 또는 인터페이스명의 classname 는 상기의 예의 같게 완전 지정된 이름으로 지정됩니다.
public ClassLoader getClassLoader()
시큐러티 매니저가 존재해, 호출측의 클래스 로더가 null 가 아니고, 클래스 로더가 필요하게 되는 클래스의 클래스 로더의 상위 로더도 아닌 경우, 이 메소드는 시큐러티 매니저의 checkPermission
메소드를 RuntimePermission("getClassLoader")
의 액세스권을 사용해 호출하는 것에 의해 클래스의 클래스 로더에 문제 없게 액세스 할 수 있는 것을 프로텍션합니다.
이 오브젝트가 원시적형 또는 void 를 나타내는 경우는 null 가 돌려주어집니다.
SecurityException
- 시큐러티 매니저가 존재해, 그 checkPermission
메소드가 클래스의 클래스 로더에게로의 액세스를 거부하는 경우ClassLoader
,
SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public Class getSuperclass()
Class
로 나타내지는 엔티티 (클래스, 인터페이스, 원시적형, 또는 void)의 슈퍼 클래스를 나타내는 Class
를 돌려줍니다. 이 Class
가,Object
클래스, 인터페이스, 원시적형, 또는 void 의 경우는 null 가 돌려주어집니다. 이 오브젝트가 배열 클래스를 나타내는 경우는 Object
클래스를 나타내는 Class
오브젝트가 돌려주어집니다.
public Package getPackage()
클래스에 부속되는 마니페스트로 정보가 정의되었을 경우와 클래스 로더가 마니페스트의 속성을 가지는 패키지 인스턴스를 생성했을 경우에만, 패키지는 버젼과 사양의 속성을 가집니다.
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 의 배열을 돌려줍니다.
public Class getComponentType()
Class
를 돌려줍니다. 이 클래스가 배열 클래스를 나타내지 않는 경우, 이 메소드는 null 를 돌려줍니다.
Class
Array
public int getModifiers()
public
,protected
,private
,final
,static
,abstract
, 및 interface
용의 Java 가상 머신의 정수로부터 구성됩니다. 이것들은 Modifier
클래스의 메소드를 사용해 복호화(decode) 하지 않으면 안됩니다.
기본이 되는 클래스가 배열 클래스의 경우,public
,private
, 및 protected
의 각 수식자는 컴퍼넌트형의 수식자와 같습니다. 이 Class
가 원시적형 또는 void 의 경우,public
의 각 수식자는 항상 true
로,protected
및 private
수식자는 항상 false
입니다. 이 오브젝트가 배열 클래스, 원시적형, 또는 void 를 나타내는 경우,final
수식자는 항상 true
로, 그 인터페이스 수식자는 항상 false
입니다. 다른 수식자의 값은 이 지정에서는 판정되지 않습니다.
수식자의 encode는 「Java 가상 머신 사양」의 표 4.1 으로 정의하고 있습니다.
int
Modifier
public Object [] getSigners()
public Class getDeclaringClass()
Class
오브젝트가 나타내는 클래스 또는 인터페이스가 다른 클래스의 멤버의 경우는 그것이 선언된 클래스를 나타내는 Class
오브젝트를 돌려줍니다. 이 클래스 또는 인터페이스가 다른 클래스의 멤버가 아닌 경우는 null 를 돌려줍니다. 이 Class
오브젝트가 배열 클래스, 원시적형, 또는 void 를 나타내는 경우, 이 메소드는 null 를 돌려줍니다.
public Class [] getClasses()
Class
오브젝트가 나타내는 클래스의 멤버인, 모든 public 클래스 및 인터페이스를 나타내는 Class
오브젝트를 저장하고 있는 배열을 돌려줍니다. 슈퍼 클래스에서 상속받은 public 클래스 및 인터페이스의 멤버, 및 클래스가 선언한 public 클래스와 인터페이스의 멤버도 포함됩니다. 이 Class
오브젝트가 public 멤버 클래스나 인터페이스를 가지지 않는 경우나, 원시적형, 배열 클래스, 또는 void 를 나타내는 경우에는 길이가 0 의 배열을 돌려줍니다.
이 클래스 및 이 클래스의 각각의 슈퍼 클래스에 대해서, 다음의 시큐러티 체크가 실행됩니다. 시큐러티 매니저가 존재하는 경우, 그 checkMemberAccess
메소드는 this
와 Member.PUBLIC
를 인수로 지정해 불려 갑니다 (this
는 멤버를 취득하는 대상의 클래스 또는 슈퍼 클래스). 클래스가 패키지내에 있었을 경우, 시큐러티 매니저의 checkPackageAccess
메소드가 패키지명을 인수로 지정해 불려 갑니다. 이러한 호출은 SecurityException 가 되는 경우가 있습니다.
Class
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Field [] getFields() throws SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 모든 액세스 가능한 public 필드를 리후레크트 하는 Field
오브젝트를 보관 유지하고 있는 배열을 돌려줍니다. 돌려주어진 배열내의 요소는 소트 되어 있거나, 특정의 순서가 되어 있을 것은 없습니다. 클래스 또는 인터페이스에 액세스 가능한 public 필드가 없는 경우나, 클래스 또는 인터페이스가 배열 클래스, 원시적형, 또는 void 를 나타내는 경우는 길이가 0 의 배열을 돌려줍니다.
특히, 이 Class
오브젝트가 클래스를 나타내는 경우, 이 메소드는 이 클래스와 그 모든 슈퍼 클래스의 public 필드를 돌려줍니다. 이 Class
오브젝트가 인터페이스를 나타내는 경우는 이 인터페이스와 모든 슈퍼 인터페이스의 필드를 돌려줍니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
이 메소드는 배열 클래스의 암묵적인 길이 필드를 리후레크트 하지 않습니다. 유저 코드로 배열을 조작하려면 ,Array
클래스의 메소드를 사용할 필요가 있습니다.
「Java 언어 사양」의 섹션 8.2 로 8.3 을 참조해 주세요.
Field
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우Field
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Method [] getMethods() throws SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 모든 public 멤버 메소드를 리후레크트 하는 Method
오브젝트를 저장하고 있는 배열을 돌려줍니다. 클래스 또는 인터페이스가 선언한 것, 및 슈퍼 클래스나 슈퍼 인터페이스로부터 계승된 것도 포함됩니다. 돌려주어진 배열내의 요소는 소트 되어 있거나, 특정의 순서가 되어 있을 것은 없습니다. 이 Class
오브젝트가 public 멤버 메소드가 없는 클래스 또는 인터페이스를 나타내는 경우나, 배열 클래스, 원시적형, 또는 void 를 나타내는 경우는 길이가 0 의 배열을 돌려줍니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
클래스 초기화 메소드 <clinit>
는 돌려주어지는 배열에 들어가 있지 않습니다. 클래스가 복수의 public 멤버 메소드를 같은 파라미터형으로 선언하면(자), 그러한 메소드는 모두 돌려주어진 배열에 들어갑니다.
「Java 언어 사양」의 섹션 8.2 로 8.4 를 참조해 주세요.
Method
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우Method
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Constructor [] getConstructors() throws SecurityException
Class
오브젝트가 나타내는 클래스의 모든 public constructor를 리후레크트 하는 Constructor
오브젝트를 저장하고 있는 배열을 돌려줍니다. 클래스에 public constructor 이 없는 경우, 클래스가 배열 클래스의 경우, 또는 클래스가 원시적형 또는 void 를 리후레크트 하는 경우에는 길이가 0 의 배열을 돌려줍니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
parameterTypes
와 일치하는 경우,Method
오브젝트를 포함한 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우Constructor
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Field getField(String name) throws NoSuchFieldException , SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 필드를 리후레크트 하는 Field
오브젝트를 돌려줍니다. name
파라미터는 요구되는 필드의 단순한 이름을 지정하는 String
입니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
리후레크트 되는 필드는 다음의 알고리즘으로 결정됩니다. 여기에서는 이 오브젝트가 나타내는 클래스를 C 로 합니다.
NoSuchFieldException
가 슬로우 됩니다. 「Java 언어 사양」의 섹션 8.2 로 8.3 을 참조해 주세요.
name
- 필드명
name
로 지정된 이 클래스의 Field
오브젝트
NoSuchFieldException
- 지정된 이름의 필드가 발견되지 않는 경우
SecurityException
- 정보에의 액세스가 거부되었을 경우Field
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Method getMethod(String name, Class [] parameterTypes) throws NoSuchMethodException , SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 메소드를 리후레크트 하는 Method
오브젝트를 돌려줍니다. name
파라미터는 요구되는 메소드에 단순한 이름을 지정하는 String
입니다. parameterTypes
파라미터는 메소드의 가파라미터형이 선언된 순서로 식별하는 Class
오브젝트의 배열입니다. parameterTypes
가 null
의 경우는 하늘의 배열과 같이 다루어집니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
name
가 "<init>" 또는 "<clinit>" 의 경우,NoSuchMethodException
가 슬로우 됩니다. 그렇지 않은 경우, 리후레크트 되는 메소드는 다음의 알고리즘으로 지정됩니다. 여기에서는 이 오브젝트가 나타내는 클래스를 C 로 합니다.
「Java 언어 사양」의 섹션 8.2 로 8.4 를 참조해 주세요.
name
- 메소드의 이름parameterTypes
- 파라미터의 리스트
name
와 parameterTypes
와 일치하는 Method
오브젝트
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우, 혹은 이름이 "<init>" 또는 "<clinit>" 의 경우
SecurityException
- 정보에의 액세스가 거부되었을 경우Method
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Constructor getConstructor(Class [] parameterTypes) throws NoSuchMethodException , SecurityException
Class
오브젝트가 나타내는 클래스의 지정된 public constructor를 리후레크트 하는 Constructor
오브젝트를 돌려줍니다. parameterTypes
파라미터는 constructor 의 가파라미터형이 선언된 순서로 식별하는 Class
오브젝트의 배열입니다.
리후레크트 하는 constructor 은 parameterTypes
로 지정된 형태와 일치하는 가파라미터형을 가지는 이 Class
오브젝트가 나타내는 클래스의 public constructor 입니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.PUBLIC
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
parameterTypes
- 파라미터 배열
parameterTypes
와 일치하는 public constructor 의 Method
오브젝트
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우
SecurityException
- 정보에의 액세스가 거부되었을 경우Constructor
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Class [] getDeclaredClasses() throws SecurityException
Class
오브젝트가 나타내는 클래스의 멤버로서 선언된, 모든 클래스 및 인터페이스를 리후레크트 하는 Class
오브젝트의 배열을 돌려줍니다. 이것에는 클래스가 선언한 public, protected, 디폴트 (package) 액세스, 및 private 클래스와 인터페이스는 포함됩니다만, 계승 클래스와 인터페이스는 포함되지 않습니다. 이 메소드는 클래스가 멤버로서 클래스 또는 인터페이스를 선언하고 있지 않은 경우나, 이 Class
오브젝트가 원시적형, 배열 클래스, 또는 void 를 나타내는 경우에는 길이가 0 의 배열을 돌려줍니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
Class
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Field [] getDeclaredFields() throws SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스가 선언한, 모든 필드를 리후레크트 하는 Field
오브젝트의 배열을 돌려줍니다. 이것에는 public, protected, 디폴트 (package) 액세스, 및 private 필드는 포함됩니다만, 계승 필드는 포함되지 않습니다. 돌려주어진 배열내의 요소는 소트 되어 있거나, 특정의 순서가 되어 있을 것은 없습니다. 이 메소드는 클래스 또는 인터페이스가 필드를 선언하지 않는 경우나, 이 Class
오브젝트가 원시적형, 배열 클래스, 또는 void 를 나타내는 경우에는 길이가 0 의 배열을 돌려줍니다.
「Java 언어 사양」의 섹션 8.2 로 8.3 을 참조해 주세요.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
Field
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우Field
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Method [] getDeclaredMethods() throws SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스가 선언한, 모든 메소드를 리후레크트 하는 Method
오브젝트의 배열을 돌려줍니다. 이것에는 public, protected, 디폴트 (package) 액세스, 및 private 메소드는 포함됩니다만, 계승 메소드는 포함되지 않습니다. 돌려주어진 배열내의 요소는 소트 되어 있거나, 특정의 순서가 되어 있을 것은 없습니다. 이 메소드는 클래스 또는 인터페이스가 메소드를 선언하지 않는 경우나, 이 Class
오브젝트가 원시적형, 배열 클래스, 또는 void 를 나타내는 경우는 길이가 0 의 배열을 돌려줍니다. 클래스 초기화 메소드 <clinit>
는 돌려주어진 배열에는 없습니다. 클래스가 같은 파라미터형을 가지는 복수의 public 멤버 메소드를 선언하는 경우, 그러한 메소드는 모두 돌려주어진 배열에 있습니다.
「Java 언어 사양」의 섹션 8.2 를 참조해 주세요.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
Method
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우Method
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Constructor [] getDeclaredConstructors() throws SecurityException
Class
오브젝트가 나타내는 클래스가 선언한 모든 constructor를 리후레크트 하는 Constructor
오브젝트의 배열을 돌려줍니다. 이것들은 public, protected, 디폴트 (package) 액세스, 및 private constructor 입니다. 돌려주어진 배열내의 요소는 소트 되어 있거나, 특정의 순서가 되어 있을 것은 없습니다. 클래스가 디폴트의 constructor를 가지는 경우, 이 constructor 은 돌려주어진 배열에 있습니다. 이 메소드는 이 Class
오브젝트가 인터페이스, 원시적형, 배열 클래스, 또는 void 를 나타내는 경우에는 길이가 0 의 배열을 돌려줍니다.
「Java 언어 사양」의 섹션 8.2 를 참조해 주세요.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
Method
오브젝트의 배열
SecurityException
- 정보에의 액세스가 거부되었을 경우Constructor
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Field getDeclaredField(String name) throws NoSuchFieldException , SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 선언 필드를 리후레크트 하는 Field
오브젝트를 돌려줍니다. name
파라미터는 요구된 필드의 단순한 이름을 지정하는 String
입니다. 이 메소드가 배열 클래스의 length
필드를 리후레크트 할 것은 없습니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
name
- 필드의 이름
Field
오브젝트
NoSuchFieldException
- 지정된 이름의 필드가 발견되지 않는 경우
SecurityException
- 정보에의 액세스가 거부되었을 경우Field
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Method getDeclaredMethod(String name, Class [] parameterTypes) throws NoSuchMethodException , SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 선언 메소드를 리후레크트 하는 Method
오브젝트를 돌려줍니다. name
파라미터는 요구된 메소드의 단순한 이름을 지정하는 String
입니다. parameterTypes
파라미터는 메소드의 가파라미터형을 선언순서에 식별하는 Class
오브젝트의 배열입니다. 같은 파라미터형을 가지는 복수의 메소드가 1 개의 클래스에서 선언되어 그러한 메소드의 1 개가 그 이외의 어떤 것보다 명확한 귀가형을 가지는 경우에는 그 메소드가 돌려주어집니다. 그렇지 않은 경우, 메소드의 1 개가 임의에 선택됩니다. 이름이 "<init>" 또는 "<clinit>" 의 경우는 NoSuchMethodException
가 슬로우 됩니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
name
- 메소드의 이름parameterTypes
- 파라미터 배열
Method
오브젝트
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우
SecurityException
- 정보에의 액세스가 거부되었을 경우Method
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public Constructor getDeclaredConstructor(Class [] parameterTypes) throws NoSuchMethodException , SecurityException
Class
오브젝트가 나타내는 클래스 또는 인터페이스의 지정된 constructor를 리후레크트 하는 Constructor
오브젝트를 돌려줍니다. parameterTypes
파라미터는 constructor 의 가파라미터형을 선언순서에 식별하는 Class
오브젝트의 배열입니다.
시큐러티 매니저가 존재하는 경우, 이 메소드는 우선 this
와 Member.DECLARED
를 인수로 지정해 시큐러티 매니저의 checkMemberAccess
메소드를 호출합니다. 클래스가 패키지내에 있었을 경우, 이 메소드는 패키지명을 인수로 지정해 시큐러티 매니저의 checkPackageAccess
메소드도 호출합니다. 이러한 호출에 의해, SecurityException 가 발생하는 경우가 있습니다.
parameterTypes
- 파라미터 배열
Method
오브젝트
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우
SecurityException
- 정보에의 액세스가 거부되었을 경우Constructor
,
SecurityManager.checkMemberAccess(Class, int)
,
SecurityManager.checkPackageAccess(String)
public InputStream getResourceAsStream(String name)
이 메소드는 리소스명에 다음과 같은 변경을 더한 후에 호출을 그 클래스 로더에 delegate 합니다. 「/」으로 시작되는 리소스명은 그대로 사용합니다. 그 이외의 경우는 「.」(으)로부터 「/」으로 변환한 후에, 패키지의 이름을 붙입니다. 이 오브젝트가 bootstrap loader로 로드 되면(자), 호출은 ClassLoader.getSystemResourceAsStream
에 delegate 됩니다.
name
- 요구되는 리소스의 이름
java.io.InputStream
오브젝트
NullPointerException
- name
가 null
의 경우ClassLoader
public URL getResource(String name)
이 메소드는 리소스명에 다음과 같은 변경을 더한 후에 호출을 그 클래스 로더에 delegate 합니다. 「/」으로 시작되는 리소스명은 그대로 사용합니다. 그 이외의 경우는 「.」(으)로부터 「/」으로 변환한 후에, 패키지의 이름을 붙입니다. 이 오브젝트가 bootstrap loader로 로드 되면(자), 호출은 ClassLoader.getSystemResource
에 delegate 됩니다.
name
- 요구되는 리소스의 이름
java.net.URL
오브젝트ClassLoader
public ProtectionDomain getProtectionDomain()
ProtectionDomain
를 돌려줍니다. 시큐러티 매니저가 인스톨 되고 있으면(자), 이 메소드는 우선 시큐러티 매니저의 checkPermission
메소드를 RuntimePermission("getProtectionDomain")
액세스권을 사용해 호출하는 것에 의해 ProtectionDomain
를 문제 없게 취득할 수 있는 것을 프로텍션합니다.
SecurityException
- 시큐러티 매니저가 존재해, 그 checkPermission
메소드가 ProtectionDomain 의 취득을 허가하지 않는 경우ProtectionDomain
,
SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public boolean desiredAssertionStatus()
이것은 JRE 자체에 혜택을 주는 메소드이기 (위해)때문에, 프로그래머가 이 메소드를 필요로 하는 것은 거의 없습니다 (이 메소드에 의해, 초기화시에 선언이 유효한가 어떤가를 클래스를 판별할 수 있습니다). 지정된 클래스의 초기화시에, 이 메소드가, 클래스에 관련지을 수 있었던 실제의 선언 스테이터스를 돌려준다고는 할 수 없는 것에 유의해 주세요.
ClassLoader.setClassAssertionStatus(java.lang.String, boolean)
,
ClassLoader.setPackageAssertionStatus(java.lang.String, boolean)
,
ClassLoader.setDefaultAssertionStatus(boolean)
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.