JavaTM 2 Platform
Standard Ed. 5.0

java.lang
Ŭ·¡½º ClassLoader

java.lang.Object 
  »óÀ§¸¦ È®Àå java.lang.ClassLoader
¾Ë·ÁÁø Á÷°è ¼­ºê Ŭ·¡½º:
SecureClassLoader

public abstract class ClassLoader
extends Object

Ŭ·¡½º ·Î´õ´Â Ŭ·¡½ºÀÇ ·Îµå¸¦ ´ã´çÇÏ´Â °´Ã¼ÀÔ´Ï´Ù. ClassLoader Ŭ·¡½º´Â Ãß»ó Ŭ·¡½ºÀÔ´Ï´Ù. Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸íÀ» ÁöÁ¤Çϸé, Ŭ·¡½º ·Î´õ´Â Ŭ·¡½ºÀÇ Á¤ÀǸ¦ ±¸¼ºÇÏ´Â µ¥ÀÌÅ͸¦ ã¾Æ³»´ÂÁö »ý¼ºÇÕ´Ï´Ù. ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î¼­´Â À̸§À» ÆÄÀϸíÀ¸·Î º¯È¯ÇØ, ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ±× À̸§ÀÇ ¡¸Å¬·¡½º ÆÄÀÏ¡¹À» ÀоîµéÀÔ´Ï´Ù.

°¢ Class °´Ã¼´Â ±× °´Ã¼¸¦ Á¤ÀÇÇÑ ClassLoader¿¡ ÀÇ reference¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù.

¹è¿­ Ŭ·¡½ºÀÇ Class °´Ã¼´Â Ŭ·¡½º ·Î´õ¿¡ µû¶ó¼­´Â ÀÛ¼ºµÇÁö ¾Ê°í, Java Runtime ¿ä±¸¿¡ ÀÀÇØ ÀÚµ¿ÀûÀ¸·Î ÀÛ¼ºµË´Ï´Ù. ¹è¿­ Ŭ·¡½ºÀÇ Å¬·¡½º ·Î´õ´Â Class.getClassLoader() ¿¡ ÀÇÇØ µ¹·ÁÁÖ°íÁ® ±× ¿ä¼ÒÀÇ ÇüÅÂÀÇ Å¬·¡½º ·Î´õ¿Í °°°Ô µË´Ï´Ù. ¿ä¼ÒÀÇ ÇüŰ¡ ¿ø½ÃÇüÀÇ °æ¿ì¿¡´Â ¹è¿­ Ŭ·¡½º¿¡ Ŭ·¡½º ·Î´õ´Â ¾ø½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº Java °¡»ó ¸Ó½ÅÀÌ µ¿ÀûÀ¸·Î Ŭ·¡½º¸¦ ·ÎµåÇϵµ·Ï È®ÀåÇϱâ À§ÇØ, ClassLoader ¼­ºê Ŭ·¡½º¸¦ ±¸ÇöÇÕ´Ï´Ù.

Ŭ·¡½º ·Î´õ´Â ÀϹÝÀûÀ¸·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ½ÃÅ¥·¯Æ¼ µµ¸ÞÀÎÀ» ³ªÅ¸³»±â À§Çؼ­ »ç¿ëµË´Ï´Ù.

ClassLoader Ŭ·¡½º´Â À§¾ç ¸ðµ¨À» »ç¿ëÇØ Ŭ·¡½º¿Í ÀÚ¿øÀ» ã½À´Ï´Ù. ClassLoader °¢ ÀνºÅϽº´Â °ü·ÃµÈ ģŬ·¡½º ·Î´õ¸¦ °¡Áý´Ï´Ù. Ŭ·¡½º ¶Ç´Â ÀÚ¿øÀ» ã¾Æ³»±â À§Çؼ­ ºÒ·Á°¡ ¸é, ClassLoader ÀνºÅϽº´Â ±× ÀÚü·Î Ŭ·¡½º ¶Ç´Â ÀÚ¿øÀÇ °Ë»öÀ» ½ÃµµÇϱâ Àü¿¡ ±× °Ë»öÀ» ģŬ·¡½º¿¡ À§¾ç ÇÕ´Ï´Ù. ¡¸bootstrap Ŭ·¡½º ·Î´õ¡¹¶ó°í ºÒ¸®´Â °¡»ó ¸Ó½ÅÀÇ ºôÆ®ÀΠŬ·¡½º ·Î´õ´Â ±× ÀÚü¿¡¼­´Â ºÎ¸ð¸¦ °¡ÁöÁö ¾Ê°í, ClassLoader ÀνºÅϽºÀÇ ºÎ¸ð·Î¼­ µ¿ÀÛÇÕ´Ï´Ù.

º¸Åë, Java °¡»ó ¸Ó½ÅÀº Ç÷§Æû¿¡ Á¸ÇÏÁö ¾Ê´Â ¹æ¹ýÀ¸·Î ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ¿¹¸¦ µé¾î UNIX ½Ã½ºÅÛ¿¡¼­´Â CLASSPATH ȯ°æ º¯¼ö¿¡ ÀÇÇØ Á¤ÀÇµÈ µð·ºÅ丮¿¡¼­ Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.

´Ù¸¸, ÆÄÀϷκÎÅÍ ÀÛ¼ºÇÒ ¼ö ¾ø´Â Ŭ·¡½ºµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º´Â ³×Æ®¿öÅ©µîÀÇ ´Ù¸¥ ¼Ò½º·ÎºÎÅÍ ÀÛ¼ºÇϰųª ¾îÇø®ÄÉÀ̼ÇÀÌ ±¸ÃàÇϰųª ÇÕ´Ï´Ù. ¸Þ¼­µå defineClass ´Â ¹ÙÀÌÆ®ÀÇ ¹è¿­À» Ŭ·¡½º Class ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù. »õ·Ó°Ô Á¤ÀÇÇÑ Å¬·¡½ºÀÇ ÀνºÅϽº´Â Class.newInstance¸¦ »ç¿ëÇØ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ŭ·¡½º ·Î´õ·Î ÀÛ¼ºÇÑ °´Ã¼ÀÇ ¸Þ¼­µå¿Í »ý¼ºÀÚ´Â ´Ù¸¥ Ŭ·¡½º¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÂüÁ¶Çϴ Ŭ·¡½º¸¦ ÆÇÁ¤Çϱâ À§Çؼ­ Java °¡»ó ¸Ó½ÅÀº Ŭ·¡½º¸¦ ÃÖÃÊ·Î ÀÛ¼ºÇÑ Å¬·¡½º ·Î´õÀÇ loadClass ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù.

¿¹¸¦ µé¾î ¾îÇø®ÄÉÀ̼ÇÀº ³×Æ®¿öÅ© Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇØ, ¼­¹ö·ÎºÎÅÍ Å¬·¡½º ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

 ClassLoader loader = new NetworkClassLoader(host,  port);
 Object main = loader.loadClass("Main", true). newInstance();
          .  .  .  

³×Æ®¿öÅ© Ŭ·¡½º ·Î´õÀÇ ¼­ºê Ŭ·¡½º´Â ³×Æ®¿öÅ©·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ findClass ¸Þ¼­µå¿Í loadClassData ¸Þ¼­µå¸¦ Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. Ŭ·¡½º¸¦ ÀÛ¼ºÇÏ´Â ¹ÙÀÌÆ®¸¦ ÇÑ ¹ø ´Ù¿î·ÎµåÇϸé, ¸Þ¼­µå defineClass¸¦ »ç¿ëÇØ Ŭ·¡½º ÀνºÅϽº¸¦ »ý¼ºÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±¸ÇöÀÇ ¿¹¸¦ ÀÌÇÏ¿¡ ³ªÅ¸³À´Ï´Ù.

 class NetworkClassLoader extends ClassLoader { String host;
 int port;
 public Class findClass(String name) { byte[] b = loadClassData(name); return defineClass(name, b, 0, b.length); }
 private byte[] loadClassData(String name) { // load the class data from the connection  .  .  .  } } 

¹ÙÀ̳ʸ®¸í

ClassLoader ¸Þ¼­µå¿¡ String ÆÄ¶ó¹ÌÅͷμ­ Á¦°øµÇ´Â Ŭ·¡½º¸íÀº, ¡¸Java ¾ð¾î »ç¾ç¡¹À¸·Î Á¤ÀÇµÈ ¹ÙÀ̳ʸ®¸íÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù.

ÀÌÇÏ¿¡ À¯È¿ÇÑ Å¬·¡½º¸íÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

 "java.lang.String" "javax.swing.JSpinner$DefaultEditor" "java.security.KeyStore$Builder$FileBuilder$1" "java.net.URLClassLoader$3$1" 

µµÀÔµÈ ¹öÀü :
1.0
°ü·Ã Ç׸ñ:
resolveClass(Class)

»ý¼ºÀÚ °³¿ä
protected ClassLoader ()
          getSystemClassLoader() ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ ClassLoader¸¦ ģŬ·¡½º ·Î´õ·Î¼­ »ç¿ëÇØ, »õ·Î¿î Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
protected ClassLoader (ClassLoader  parent)
          ÁöÁ¤µÈ ģŬ·¡½º ·Î´õ¸¦ »ç¿ëÇØ, À§¾çÀ» À§Çؼ­ »õ·Î¿î Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void clearAssertionStatus ()
          ÀÌ Å¬·¡½º ·Î´õÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ false·Î ¼³Á¤ÇØ, Ŭ·¡½º ·Î´õ°¡ °ü·ÃµÈ µðÆúÆ® ÆÐŰÁö ¹× Ŭ·¡½º ¼±¾ð ½ºÅ×ÀÌÅͽº ¼³Á¤À» ¸ðµÎ ÆÄ±âÇÕ´Ï´Ù.
protected  Class <? > defineClass (byte[] b, int off, int len)
          ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  defineClass(String, byte[], int, int) ·Î ¿Å°ÜÁ³½À´Ï´Ù.
protected  Class <? > defineClass (String  name, byte[] b, int off, int len)
          ¹ÙÀÌÆ®ÀÇ ¹è¿­À» Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù.
protected  Class <? > defineClass (String  name, byte[] b, int off, int len, ProtectionDomain  protectionDomain)
          ¿É¼ÇÀÇ ProtectionDomain¸¦ »ç¿ëÇØ, ¹ÙÀÌÆ®ÀÇ ¹è¿­À» Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù.
protected  Class <? > defineClass (String  name, ByteBuffer  b, ProtectionDomain  protectionDomain)
          ¿É¼ÇÀÇ ProtectionDomain¸¦ »ç¿ëÇØ, ByteBuffer¸¦ Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù.
protected  Package definePackage (String  name, String  specTitle, String  specVersion, String  specVendor, String  implTitle, String  implVersion, String  implVendor, URL  sealBase)
          ÀÌ ClassLoader·Î À̸§À» »ç¿ëÇØ ÆÐŰÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù.
protected  Class <? > findClass (String  name)
          ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ã½À´Ï´Ù.
protected  String findLibrary (String  libname)
          ³×ÀÌÆ¼ºê ¶óÀ̺귯¸®ÀÇ Àý´ë ÆÐ½º¸íÀ» ¸®ÅÏÇÕ´Ï´Ù.
protected  Class <? > findLoadedClass (String  name)
          ÀÌ ·Î´õ°¡ À̹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½ºÀÇ ½ÃÀÛ ·Î´õ·Î¼­ Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ ±â·ÏµÇ°í ÀÖ¾úÀ» °æ¿ì´Â ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ¸®ÅÏÇÕ´Ï´Ù.
protected  URL findResource (String  name)
          ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÚ¿øÀ» ã½À´Ï´Ù.
protected  Enumeration <URL > findResources (String  name)
          ÁöÁ¤µÈ À̸§À» °¡Áö´Â ¸ðµç ÀÚ¿øÀ» ³ªÅ¸³»´Â URL °´Ã¼ÀÇ ¿­°Å¸¦ ¸®ÅÏÇÕ´Ï´Ù.
protected  Class <? > findSystemClass (String  name)
          ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ã¾Æ, Çʿ信 µû¶ó¼­ ·ÎµåÇÕ´Ï´Ù.
protected  Package getPackage (String  name)
          ÀÌ Å¬·¡½º ·Î´õÀΰ¡ °Ô´Ù°¡ À§°´Ã¼ÀÇ ¾î¶² °Í µî¿¡ ÇØ¼­ Á¤ÀÇµÈ Package¸¦ ¸®ÅÏÇÕ´Ï´Ù.
protected  Package [] getPackages ()
          ÀÌ Å¬·¡½º ·Î´õ¿Í °Ô´Ù°¡ À§°´Ã¼¿¡ ÀÇÇØ Á¤ÀÇµÈ ¸ðµç Packages¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 ClassLoader getParent ()
          À§¾çÀ» À§ÇÑ Ä£Å¬·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 URL getResource (String  name)
          ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÚ¿øÀ» ã¾Æ³À´Ï´Ù.
 InputStream getResourceAsStream (String  name)
          ÁöÁ¤µÈ ÀÚ¿øÀ» ÀоîµéÀÌ´Â ÀÔ·Â ½ºÆ®¸²À» ¸®ÅÏÇÕ´Ï´Ù.
 Enumeration <URL > getResources (String  name)
          ÁöÁ¤µÈ À̸§À» °¡Áö´Â ¸ðµç ÀÚ¿øÀ» ã½À´Ï´Ù.
static ClassLoader getSystemClassLoader ()
          À§¾çÀ» À§ÇÑ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static URL getSystemResource (String  name)
          Å¬·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ ÀÚ¿øÀ» ã½À´Ï´Ù.
static InputStream getSystemResourceAsStream (String  name)
          Å¬·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ ÀÚ¿øÀ» Àо±â À§Çؼ­ ¿±´Ï´Ù.
static Enumeration <URL > getSystemResources (String  name)
          Å¬·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ ¸ðµç ÀÚ¿øÀ» ã½À´Ï´Ù.
 Class <? > loadClass (String  name)
          ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
protected  Class <? > loadClass (String  name, boolean resolve)
          ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
protected  void resolveClass (Class <? > c)
          ÁöÁ¤µÈ Ŭ·¡½º¸¦ ¸µÅ©ÇÕ´Ï´Ù.
 void setClassAssertionStatus (String  className, boolean enabled)
          ÀÌ Å¬·¡½º ·Î´õ ¹× ³»ºÎÀÇ »óÀÚ ±¸Á¶ Ŭ·¡½º³»ÀÇ À̸§ ÷ºÎÀÇ Åé ·¹º§ Ŭ·¡½º¿¡ ´ëÇØ¼­ ¸ñÀûÀÇ ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 void setDefaultAssertionStatus (boolean enabled)
          ÀÌ Å¬·¡½º ·Î´õÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 void setPackageAssertionStatus (String  packageName, boolean enabled)
          À̸§ ÷ºÎ ÆÐŰÁöÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÕ´Ï´Ù.
protected  void setSigners (Class <? > c, Object [] signers)
          Å¬·¡½ºÀÇ ¼­¸íÀÚ¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

ClassLoader

protected ClassLoader(ClassLoader  parent)
ÁöÁ¤µÈ ģŬ·¡½º ·Î´õ¸¦ »ç¿ëÇØ, À§¾çÀ» À§Çؼ­ »õ·Î¿î Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkCreateClassLoader ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. À̰ÍÀº ½ÃÅ¥·¯Æ¼ ¿¹¿Ü°¡ µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
parent - ºÎ¸ðÀÇ Å¬·¡½º ·Î´õ
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ±× checkCreateClassLoader ¸Þ¼­µå°¡ »õ·Î¿î Ŭ·¡½º ·Î´õÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

ClassLoader

protected ClassLoader()
getSystemClassLoader() ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ ClassLoader¸¦ ģŬ·¡½º ·Î´õ·Î¼­ »ç¿ëÇØ, »õ·Î¿î Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkCreateClassLoader ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. À̰ÍÀº ½ÃÅ¥·¯Æ¼ ¿¹¿Ü°¡ µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ±× checkCreateClassLoader ¸Þ¼­µå°¡ »õ·Î¿î Ŭ·¡½º ·Î´õÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

loadClass

public Class <? > loadClass(String  name)
                   throws ClassNotFoundException 
ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â loadClass(String, boolean) ¸Þ¼­µå¿Í °°Àº ¹æ¹ýÀ¸·Î Ŭ·¡½º¸¦ °Ë»öÇÕ´Ï´Ù. Java °¡»ó ¸Ó½ÅÀÌ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØ, Ŭ·¡½º ÂüÁ¶¸¦ ÇØ°áÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀº, loadClass(name, false)¸¦ È£ÃâÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸í
¹Ýȯ°ª:
°á°úÀÇ Class °´Ã¼
¿¹¿Ü:
ClassNotFoundException - Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì

loadClass

protected Class <? > loadClass(String  name,
                             boolean resolve)
                      throws ClassNotFoundException 
ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ µðÆúÆ® ±¸Çö¿¡¼­´Â ´ÙÀ½ÀÇ ¼ø¼­·Î Ŭ·¡½º¸¦ °Ë»öÇÕ´Ï´Ù.

  1. findLoadedClass(String)¸¦ È£ÃâÇØ, Ŭ·¡½º°¡ ÀÌ¹Ì ·Îµå µÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇÑ´Ù

  2. ģŬ·¡½º ·Î´õ·Î loadClass ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù. ºÎ¸ð°¡ nullÀÎ °æ¿ì, °¡»ó ¸Ó½Å¿¡ »ðÀÔµÈ Å¬·¡½º ·Î´õ°¡ ´ë½Å¿¡ È£ÃâÇÑ´Ù

  3. findClass(String) ¸Þ¼­µå¸¦ È£ÃâÇØ, Ŭ·¡½º¸¦ ã´Â´Ù

»ó±âÀÇ ¼ø¼­·Î Ŭ·¡½º°¡ ¹ß°ßµÇ¾úÀ» °æ¿ì, resolve Ç÷¡±×°¡ true ¶§¿¡´Â ÀÌ ¸Þ¼­µå´Â ¹ß°ßµÈ Class °´Ã¼¿¡ ´ëÇØ¼­ resolveClass(Class) ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù.

ClassLoader ¼­ºê Ŭ·¡½º°¡ ÀÌ ¸Þ¼­µå°¡ ¾Æ´Ï°í findClass(String)¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °ÍÀÌ Ãßõ µÇ°í ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸í
resolve - trueÀÎ °æ¿ì´Â Ŭ·¡½º¸¦ ÇØ¼® ó¸®ÇÑ´Ù
¹Ýȯ°ª:
°á°úÀÇ Class °´Ã¼
¿¹¿Ü:
ClassNotFoundException - Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì

findClass

protected Class <? > findClass(String  name)
                      throws ClassNotFoundException 
ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ã½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§ÇÑ À§¾ç ¸ðµ¨¿¡ ÁذÅÇϴ Ŭ·¡½º ·Î´õ ±¸Çö¿¡ ÀÇÇØ ¿À¹ö¶óÀ̵å(override) µÇ¾î ÇÊ¿äÇÑ Å¬·¡½ºÀÇ Ä£Å¬·¡½º ·Î´õÀÇ Ã¼Å© ÈÄ¿¡ loadClass ¸Þ¼­µå¿¡ ÀÇÇØ È£ÃâÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ±¸ÇöÀº ClassNotFoundExceptionÀ» Throw ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸í
¹Ýȯ°ª:
°á°úÀÇ Class °´Ã¼
¿¹¿Ü:
ClassNotFoundException - Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

defineClass

@Deprecated 
protected final Class <? > defineClass(byte[] b,
                                                int off,
                                                int len)
                              throws ClassFormatError 
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  defineClass(String, byte[], int, int) ·Î ¿Å°ÜÁ³½À´Ï´Ù.

¹ÙÀÌÆ®ÀÇ ¹è¿­À» Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù. ÃÖÃÊ·Î Class¸¦ ÇØ°áÇÏÁö ¾ÊÀ¸¸é, Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ ¸Þ¼­µåº¸´Ù, ¹ÙÀ̳ʸ®¸íÀ» ÃÖÃÊÀÇ Àμö·Î¼­ ¾ò´Â ¹öÀüÀÌ ¾ÈÀüÇϱ⠶§¹®¿¡ ±× ¹öÀüÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
b - Ŭ·¡½º µ¥ÀÌÅ͸¦ ±¸¼ºÇÏ´Â ¹ÙÀÌÆ®. off·Î ºÎÅÍ off+len-1 ±îÁöÀÇ À§Ä¡¿¡ ÀÖ´Â ¹ÙÀÌÆ®´Â ¡¸Java °¡»ó ¸Ó½Å »ç¾ç¡¹À¸·Î Á¤ÀǵǴ À¯È¿ÇÑ Å¬·¡½º ÆÄÀÏÀÇ Çü½ÄÀ» °¡Áö´Â
off - Ŭ·¡½º µ¥ÀÌÅÍÀÇ b °³½Ã ¿ÀÇÁ¼Â(offset)
len - Ŭ·¡½º µ¥ÀÌÅÍÀÇ ±æÀÌ
¹Ýȯ°ª:
ÁöÁ¤µÈ Ŭ·¡½º µ¥ÀÌÅͷκÎÅÍ ÀÛ¼ºµÈ Class °´Ã¼
¿¹¿Ü:
ClassFormatError - µ¥ÀÌÅͰ¡ À¯È¿ÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏÁö ¾Ê¾Ò´ø °æ¿ì
IndexOutOfBoundsException - off ¶Ç´Â len ¾î´À ÂÊÀÎÁö°¡ ºÎÀÇ °æ¿ì, ¶Ç´Â off+len°¡ b.length º¸´Ù Å« °æ¿ì
°ü·Ã Ç׸ñ:
loadClass(String, boolean), resolveClass(Class)

defineClass

protected final Class <? > defineClass(String  name,
                                     byte[] b,
                                     int off,
                                     int len)
                              throws ClassFormatError 
¹ÙÀÌÆ®ÀÇ ¹è¿­À» Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù. ÃÖÃÊ·Î Class¸¦ ÇØ°áÇÏÁö ¾ÊÀ¸¸é, Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â µðÆúÆ® ProtectionDomain¸¦, »õ·Ó°Ô Á¤ÀÇµÈ Å¬·¡½º¿¡ ÇÒ´çÇÕ´Ï´Ù. ProtectionDomain´Â Policy.getPolicy(). getPermissions(new CodeSource(null, null)) °¡ ºÒ·Á °¬À» ¶§¿¡ ¸®ÅÏµÈ Á¢±Ù ±ÇÇѰú °°Àº Á¢±Ù ±ÇÇÑÀ» º¸°ü À¯ÁöÇÕ´Ï´Ù. µðÆúÆ®ÀÇ µµ¸ÞÀÎÀº defineClass ÃÖÃÊÀÇ È£Ãâ·Î ÀÛ¼ºµÇ¾î ±× ÈÄÀÇ È£Ãâ·Î Àç»ç¿ëµË´Ï´Ù.

ƯÁ¤ÀÇ ProtectionDomain¸¦ Ŭ·¡½º¿¡ ÇÒ´çÇÏ·Á¸é, ProtectionDomain¸¦ ±× ÀμöÀÇ 1°³ ·Î¼­ ÃëÇÏ´Â defineClass ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½º°¡ ¿¹»óµÇ´Â¹ÙÀ̳ʸ®¸í . ºÒ¸íÇÑ °æ¿ì´Â null
b - Ŭ·¡½º µ¥ÀÌÅ͸¦ ±¸¼ºÇÏ´Â ¹ÙÀÌÆ®. off·Î ºÎÅÍ off+len-1 ±îÁöÀÇ À§Ä¡¿¡ ÀÖ´Â ¹ÙÀÌÆ®´Â ¡¸Java °¡»ó ¸Ó½Å »ç¾ç¡¹À¸·Î Á¤ÀǵǴ À¯È¿ÇÑ Å¬·¡½º ÆÄÀÏÀÇ Çü½ÄÀ» °¡Áö´Â
off - Ŭ·¡½º µ¥ÀÌÅÍÀÇ b °³½Ã ¿ÀÇÁ¼Â(offset)
len - Ŭ·¡½º µ¥ÀÌÅÍÀÇ ±æÀÌ
¹Ýȯ°ª:
ÁöÁ¤µÈ Ŭ·¡½º µ¥ÀÌÅͷκÎÅÍ ÀÛ¼ºµÈ Class °´Ã¼
¿¹¿Ü:
ClassFormatError - µ¥ÀÌÅͰ¡ À¯È¿ÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏÁö ¾Ê¾Ò´ø °æ¿ì
IndexOutOfBoundsException - off ¶Ç´Â len ¾î´À ÂÊÀÎÁö°¡ ºÎÀÇ °æ¿ì, ¶Ç´Â off+len°¡ b.length º¸´Ù Å« °æ¿ì
SecurityException - ÀÌ Å¬·¡½º¿Í´Â ´Ù¸¥ ÀÎÁõ¼­ ¼¼Æ® (ºÎÈ£ ¾øÀ½)¸¦ »ç¿ëÇØ ¼­¸íµÈ Ŭ·¡½º¸¦ Æ÷ÇÔÇÑ ÆÐŰÁö¿¡ ÀÌ Å¬·¡½º¸¦ Ãß°¡ÇÏ·Á°í ÇÏ´Â °æ¿ì, ¶Ç´Â name°¡ ¡¸java. ¡¹(À¸)·Î ½ÃÀ۵Ǵ °æ¿ì
µµÀÔµÈ ¹öÀü :
1.1
°ü·Ã Ç׸ñ:
loadClass(String, boolean), resolveClass(Class), CodeSource, SecureClassLoader

defineClass

protected final Class <? > defineClass(String  name,
                                     byte[] b,
                                     int off,
                                     int len,
                                     ProtectionDomain  protectionDomain)
                              throws ClassFormatError 
¿É¼ÇÀÇ ProtectionDomain¸¦ »ç¿ëÇØ, ¹ÙÀÌÆ®ÀÇ ¹è¿­À» Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù. µµ¸ÞÀÎÀÌ nullÀÎ °æ¿ì´Â µðÆúÆ®ÀÇ µµ¸ÞÀÎÀÌ, defineClass(String, byte[], int, int) ¹®¼­·Î °¡¸®Å°´Â ´ë·Î Ŭ·¡½º¿¡ ÇÒ´çÇÒ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù. ÃÖÃʷΠŬ·¡½º¸¦ ÇØ°áÇÏÁö ¾ÊÀ¸¸é, Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆÐŰÁö·Î Á¤ÀǵǴ ÃÖÃÊÀÇ Å¬·¡½º´Â ±× ÆÐŰÁö³»¿¡¼­ ¿¬¼ÓÇØ Á¤ÀÇµÈ ¸ðµç Ŭ·¡½º¿¡ ÀÖ´Â ÀÎÁõ¼­ ÀÇ Á¤È®ÇÑ ¼¼Æ®¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. Ŭ·¡½ºÀÇ ÀÎÁõ¼­ ¼¼Æ®´Â Ŭ·¡½ºÀÇ ProtectionDomain ³» CodeSource ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù. ±× ÆÐŰÁö¿¡ Ãß°¡µÈ Ŭ·¡½º¿¡´Â µ¿ÀÏÇÑ ÀÎÁõ¼­ ¼¼Æ®°¡ Æ÷ÇԵǾî ÀÖÀ» Çʿ䰡 ÀÖ¾î, Æ÷ÇÔµÇÁö ¾ÊÀº °æ¿ì´Â SecurityExceptionÀÌ ¹ß»ý µË´Ï´Ù. name Àμö°¡ nullÀÎ °æ¿ì, ÀÌ ÆÇº°Àº ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. ¹Ýµå½Ã, Á¤ÀÇÇϴ Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸íÀ» ¹ÙÀÌÆ®¿Í ÇÔ²² °Ç³×ÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ¿Í °°ÀÌÀÇÇØ °Ç³×ÁÖ¸é, Á¤ÀÇÇϴ Ŭ·¡½º´Â ½ÇÁ¦·Î »ý°¢Çß´ø ´ë·ÎÀÇ Å¬·¡½º°¡ µË´Ï´Ù.

java. * ÆÐŰÁöÀÇ ¸ðµç Ŭ·¡½º´Â bootstrap Ŭ·¡½º ·Î´õ·Î ¹Û¿¡ Á¤ÀÇÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¡¸java. ¡¹(À¸)·Î ½ÃÀ۵ǴÂname¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. name°¡ null°¡ ¾Æ´Ñ °æ¿ì¿¡´Â ¹ÙÀÌÆ® ¹è¿­ ¡¸b¡¹·Î ÁöÁ¤µÈ Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸í¿¡ µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. µ¿ÀÏÇÏÁö ¾ÊÀº °æ¿ì, NoClassDefFoundError°¡ ¹ß»ý µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½º°¡ ¿¹»óµÇ´Â¹ÙÀ̳ʸ®¸í . ºÒ¸íÇÑ °æ¿ì´Â null
b - Ŭ·¡½º µ¥ÀÌÅ͸¦ ±¸¼ºÇÏ´Â ¹ÙÀÌÆ®. off·Î ºÎÅÍ off+len-1 ±îÁöÀÇ À§Ä¡¿¡ ÀÖ´Â ¹ÙÀÌÆ®´Â ¡¸Java °¡»ó ¸Ó½Å »ç¾ç¡¹À¸·Î Á¤ÀǵǴ À¯È¿ÇÑ Å¬·¡½º ÆÄÀÏÀÇ Çü½ÄÀ» °¡Áö´Â
off - Ŭ·¡½º µ¥ÀÌÅÍÀÇ b °³½Ã ¿ÀÇÁ¼Â(offset)
len - Ŭ·¡½º µ¥ÀÌÅÍÀÇ ±æÀÌ
protectionDomain - ÀÌ Å¬·¡½ºÀÇ ProtectionDomain
¹Ýȯ°ª:
µ¥ÀÌÅͷκÎÅÍ ÀÛ¼ºµÈ Class °´Ã¼¿Í ÀÓÀÇÀÇ ProtectionDomain
¿¹¿Ü:
ClassFormatError - µ¥ÀÌÅͰ¡ À¯È¿ÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏÁö ¾Ê¾Ò´ø °æ¿ì
NoClassDefFoundError - name°¡ b·Î ÁöÁ¤µÈ Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸íÀ¸·Î µ¿ÀÏÇÏÁö ¾ÊÀº °æ¿ì
IndexOutOfBoundsException - off ¶Ç´Â len ¾î´À ÂÊÀÎÁö°¡ ºÎÀÇ °æ¿ì, ¶Ç´Â off+len°¡ b.length º¸´Ù Å« °æ¿ì
SecurityException - ÀÌ Å¬·¡½º¿Í´Â ´Ù¸¥ ÀÎÁõ¼­ ¼¼Æ®¸¦ »ç¿ëÇØ ¼­¸íµÈ Ŭ·¡½º¸¦ Æ÷ÇÔÇÑ ÆÐŰÁö¿¡ ÀÌ Å¬·¡½º¸¦ Ãß°¡ÇÏ·Á°í ÇÏ´Â °æ¿ì, ¶Ç´Â name°¡ ¡¸java. ¡¹(À¸)·Î ½ÃÀ۵Ǵ °æ¿ì

defineClass

protected final Class <? > defineClass(String  name,
                                     ByteBuffer  b,
                                     ProtectionDomain  protectionDomain)
                              throws ClassFormatError 
¿É¼ÇÀÇ ProtectionDomain¸¦ »ç¿ëÇØ, ByteBuffer¸¦ Class Ŭ·¡½ºÀÇ ÀνºÅϽº·Î º¯È¯ÇÕ´Ï´Ù. µµ¸ÞÀÎÀÌ nullÀÎ °æ¿ì´Â µðÆúÆ®ÀÇ µµ¸ÞÀÎÀÌ, defineClass(String, byte[], int, int) ¹®¼­·Î °¡¸®Å°´Â ´ë·Î Ŭ·¡½º¿¡ ÇÒ´çÇÒ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù. ÃÖÃʷΠŬ·¡½º¸¦ ÇØ°áÇÏÁö ¾ÊÀ¸¸é, Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆÐŰÁöÀÇ ÀÎÁõ¼­ ¼¼Æ®¸¦ °áÁ¤Çϰí ÀÖ´Â ÆÐŰÁö·Î Á¤ÀÇµÈ ÃÖÃÊÀÇ Å¬·¡½º¿¡ °üÇÑ ±ÔÄ¢°ú Ŭ·¡½º¸í¿¡¼­ÀÇ Á¦¾àÀº, defineClass(String, byte[], int, int, ProtectionDomain) ¹®¼­·Î °¡¸®Å°´Â °Í°ú µ¿µîÇÕ´Ï´Ù.

ÀÌ ÆûÀÇ ¸Þ¼­µå È£Ãâ cl. defineClass(name, bBuffer, pd)¿¡ ¼­´Â ´ÙÀ½ÀÇ ¹®Àå°ú Á¤È®ÇÏ°Ô °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

...
byte[] temp = new byte[
bBuffer. remaining ()];
bBuffer. get (temp);
return
cl. defineClass (name, temp, 0, temp.length, pd);

ÆÄ¶ó¹ÌÅÍ:
name - ¿¹»óµÇ´Â¹ÙÀ̳ʸ®¸í. ºÒ¸íÇÑ °æ¿ì´Â null
b - Ŭ·¡½º µ¥ÀÌÅ͸¦ ±¸¼ºÇÏ´Â ¹ÙÀÌÆ®. b.position()·Î ºÎÅÍ b.position() + b.limit() -1 ±îÁöÀÇ À§Ä¡¿¡ ÀÖ´Â ¹ÙÀÌÆ®´Â ¡¸Java °¡»ó ¸Ó½Å »ç¾ç¡¹À¸·Î Á¤ÀǵǴ À¯È¿ÇÑ Å¬·¡½º ÆÄÀÏÀÇ Çü½ÄÀ» °¡Áö´Â
protectionDomain - ÀÌ Å¬·¡½ºÀÇ ProtectionDomain, ¶Ç´Â null
¹Ýȯ°ª:
µ¥ÀÌÅͷκÎÅÍ ÀÛ¼ºµÈ Class °´Ã¼¿Í ÀÓÀÇÀÇ ProtectionDomain
¿¹¿Ü:
ClassFormatError - µ¥ÀÌÅͰ¡ À¯È¿ÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏÁö ¾Ê¾Ò´ø °æ¿ì
NoClassDefFoundError - name°¡ b·Î ÁöÁ¤µÈ Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸íÀ¸·Î µ¿ÀÏÇÏÁö ¾ÊÀº °æ¿ì
SecurityException - ÀÌ Å¬·¡½º¿Í´Â ´Ù¸¥ ÀÎÁõ¼­ ¼¼Æ®¸¦ »ç¿ëÇØ ¼­¸íµÈ Ŭ·¡½º¸¦ Æ÷ÇÔÇÑ ÆÐŰÁö¿¡ ÀÌ Å¬·¡½º¸¦ Ãß°¡ÇÏ·Á°í ÇÏ´Â °æ¿ì, ¶Ç´Â name°¡ ¡¸java. ¡¹(À¸)·Î ½ÃÀ۵Ǵ °æ¿ì
µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
defineClass(String, byte[], int, int, ProtectionDomain)

resolveClass

protected final void resolveClass(Class <? > c)
ÁöÁ¤µÈ Ŭ·¡½º¸¦ ¸µÅ©ÇÕ´Ï´Ù. Ŭ·¡½º ·Î´õ´Â ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇØ, Ŭ·¡½º¸¦ ¸µÅ©ÇÕ´Ï´Ù. Ŭ·¡½º c°¡ ÀÌ¹Ì ¸µÅ©µÇ°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â ´ÜÁö º¹±ÍÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ¡¸Java ¾ð¾î »ç¾ç¡¹ÀÇ ¡¸Execution¡¹ÀÇ ÀåÀ¸·Î ¼³¸íÇϰí ÀÖµµ·Ï, Ŭ·¡½º´Â ¸µÅ©µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - ¸µÅ©Çϴ Ŭ·¡½º
¿¹¿Ü:
NullPointerException - c°¡ nullÀÎ °æ¿ì
°ü·Ã Ç׸ñ:
defineClass(String, byte[], int, int)

findSystemClass

protected final Class <? > findSystemClass(String  name)
                                  throws ClassNotFoundException 
ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ã¾Æ, Çʿ信 µû¶ó¼­ ·ÎµåÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ (getSystemClassLoader()¸¦ ÂüÁ¶)¸¦ »ç¿ëÇØ Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ¸®ÅÏµÈ Class °´Ã¼´Â ±× Ŭ·¡½º °´Ã¼¿¡ °ü·ÃÇÑ ClassLoader¸¦ 1°³ ÀÌ»ó °¡Áö°Ô µË´Ï´Ù. ClassLoader ¼­ºê Ŭ·¡½º´Â º¸Åë, ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. À̰ÍÀº ´ëºÎºÐÀÇ Å¬·¡½º ·Î´õ°¡ findClass(String) ¸¸À» ¿À¹ö¶óÀ̵å(override) Çϸé ÁÁ±â ¶§¹®ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸í
¹Ýȯ°ª:
ÁöÁ¤µÈ name Class °´Ã¼
¿¹¿Ü:
ClassNotFoundException - Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
ClassLoader(ClassLoader), getParent()

findLoadedClass

protected final Class <? > findLoadedClass(String  name)
ÀÌ ·Î´õ°¡ À̹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½ºÀÇ ½ÃÀÛ ·Î´õ·Î¼­ Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ ±â·ÏµÇ°í ÀÖ¾úÀ» °æ¿ì´Â ÁöÁ¤µÈ¹ÙÀ̳ʸ®¸íÀ» °¡Áö´Â Ŭ·¡½º¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±â·ÏµÇ¾î ÀÖÁö ¾Ê¾Ò´ø °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Ŭ·¡½ºÀÇ ¹ÙÀ̳ʸ®¸í
¹Ýȯ°ª:
Class °´Ã¼. Ŭ·¡½º°¡ ·ÎµåµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.1

setSigners

protected final void setSigners(Class <? > c,
                                Object [] signers)
Ŭ·¡½ºÀÇ ¼­¸íÀÚ¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â Ŭ·¡½ºÀÇ Á¤ÀÇ ÈÄ¿¡ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - Class °´Ã¼
signers - Ŭ·¡½ºÀÇ ¼­¸íÀÚ
µµÀÔµÈ ¹öÀü :
1.1

getResource

public URL  getResource(String  name)
ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÚ¿øÀ» ã¾Æ³À´Ï´Ù. ÀÚ¿øÀº ÄÚµå À§Ä¡¿¡ Á¸ÇÏÁö ¾Ê´Â ¹æ¹ýÀ¸·Î Ŭ·¡½º Äڵ忡 ÀÇÇØ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ µ¥ÀÌÅÍ (À̹ÌÁö, ¿Àµð¿À, ÅØ½ºÆ® µî)ÀÔ´Ï´Ù.

ÀÚ¿øÀÇ À̸§Àº ¡¸/¡¹À¸·Î ´Ü¶ôÁö¾îÁø ÆÐ½º¸íÀ̸ç, À̰Ϳ¡ ÀÇÇØ ÀÚ¿øÀÌ ½Äº°µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ¿ì¼± ÀÚ¿øÀÇ Ä£Å¬·¡½º ·Î´õ¸¦ °Ë»öÇÕ´Ï´Ù. ºÎ¸ð°¡ nullÀÎ °æ¿ì, °¡»ó ¸Ó½Å¿¡ »ðÀÔµÈ Å¬·¡½º ·Î´õÀÎ ÆÐ½º°¡ °Ë»öµË´Ï´Ù. °Å±â¿¡ ½ÇÆÐÇϸé, ÀÌ ¸Þ¼­µå´Â ÀÚ¿øÀ» ã¾Æ³»±â À§Çؼ­ findResource(String)¸¦ È£ÃâÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿øÀ» ÀоîµéÀ̱â À§ÇÑ URL. ´Ù¸¸, ÀÚ¿øÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì³ª, È£ÃâÃøÀÌ ÀÚ¿øÀ» ¾ò´Â ÀûÀýÇÑ Æ¯±ÇÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.1

getResources

public Enumeration <URL > getResources(String  name)
                              throws IOException 
ÁöÁ¤µÈ À̸§À» °¡Áö´Â ¸ðµç ÀÚ¿øÀ» ã½À´Ï´Ù. ÀÚ¿øÀº ÄÚµå À§Ä¡¿¡ Á¸ÇÏÁö ¾Ê´Â ¹æ¹ýÀ¸·Î Ŭ·¡½º Äڵ忡 ÀÇÇØ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ µ¥ÀÌÅÍ (À̹ÌÁö, ¿Àµð¿À, ÅØ½ºÆ® µî)ÀÔ´Ï´Ù.

ÀÚ¿øÀÇ À̸§Àº ¡¸/¡¹À¸·Î ´Ü¶ôÁö¾îÁø ÆÐ½º¸íÀ̸ç, À̰Ϳ¡ ÀÇÇØ ÀÚ¿øÀÌ ½Äº°µË´Ï´Ù.

°Ë»ö¼ø¼­¿¡ ´ëÇØ¼­´Â getResource(String) ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿ø¿¡ ´ëÇÑ URL °´Ã¼ÀÇ ¿­°Å. ÀÚ¿øÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì, ¿­°Å´Â ºñ¿î´Ù. Ŭ·¡½º ·Î´õ°¡ ¾×¼¼½º¸¦ °¡ÁöÁö ¾Ê´Â ÀÚ¿øÀº ¿­°Å¿¡ µé¾î°¡Áö ¾Ê´Â´Ù
¿¹¿Ü:
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2
°ü·Ã Ç׸ñ:
findResources(String)

findResource

protected URL  findResource(String  name)
ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÚ¿øÀ» ã½À´Ï´Ù. Ŭ·¡½º ·Î´õÀÇ ±¸ÇöÀº ÀÚ¿øÀÇ ·Îµå¿øÀ» ƯÁ¤Çϱâ À§Çؼ­ ÀÌ ¸Þ¼­µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿øÀ» ÀоîµéÀ̱â À§ÇÑ URL °´Ã¼. ÀÚ¿øÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.2

findResources

protected Enumeration <URL > findResources(String  name)
                                  throws IOException 
ÁöÁ¤µÈ À̸§À» °¡Áö´Â ¸ðµç ÀÚ¿øÀ» ³ªÅ¸³»´Â URL °´Ã¼ÀÇ ¿­°Å¸¦ ¸®ÅÏÇÕ´Ï´Ù. Ŭ·¡½º ·Î´õÀÇ ±¸ÇöÀº ÀÚ¿øÀÇ ·Îµå¿øÀ» ƯÁ¤Çϱâ À§Çؼ­ ÀÌ ¸Þ¼­µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿ø URL °´Ã¼ÀÇ ¿­°Å
¿¹¿Ü:
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

getSystemResource

public static URL  getSystemResource(String  name)
Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ ÀÚ¿øÀ» ã½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ (getSystemClassLoader()¸¦ ÂüÁ¶)¸¦ »ç¿ëÇØ ÀÚ¿øÀ» ã¾Æ³À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿øÀ» ÀоîµéÀ̱â À§ÇÑ URL °´Ã¼. ÀÚ¿øÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.1

getSystemResources

public static Enumeration <URL > getSystemResources(String  name)
                                           throws IOException 
Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ ¸ðµç ÀÚ¿øÀ» ã½À´Ï´Ù. ¹ß°ßµÈ ÀÚ¿øÀº URL °´Ã¼ Enumeration ·Î¼­ ¸®Åϵ˴ϴ٠.

°Ë»ö¼ø¼­¿¡ ´ëÇØ¼­´Â getSystemResource(String) ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿ø URL °´Ã¼ÀÇ ¿­°Å
¿¹¿Ü:
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

getResourceAsStream

public InputStream  getResourceAsStream(String  name)
ÁöÁ¤µÈ ÀÚ¿øÀ» ÀоîµéÀÌ´Â ÀÔ·Â ½ºÆ®¸²À» ¸®ÅÏÇÕ´Ï´Ù.

°Ë»ö¼ø¼­¿¡ ´ëÇØ¼­´Â getResource(String) ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿øÀ» ÀоîµéÀ̱â À§ÇÑ ÀÔ·Â ½ºÆ®¸². ÀÚ¿øÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.1

getSystemResourceAsStream

public static InputStream  getSystemResourceAsStream(String  name)
Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ­ »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ ÀÚ¿øÀ» Àо±â À§Çؼ­ ¿±´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ (getSystemClassLoader()¸¦ ÂüÁ¶)¸¦ »ç¿ëÇØ ÀÚ¿øÀ» ã¾Æ³À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÀÚ¿ø¸í
¹Ýȯ°ª:
ÀÚ¿øÀ» ÀоîµéÀ̱â À§ÇÑ ÀÔ·Â ½ºÆ®¸². ÀÚ¿øÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.1

getParent

public final ClassLoader  getParent()
À§¾çÀ» À§ÇÑ Ä£Å¬·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±¸Çö¿¡ µû¶ó¼­´Â nullÀ» »ç¿ëÇØ, bootstrap Ŭ·¡½º ·Î´õ¸¦ ³ªÅ¸³»´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÌ Å¬·¡½º ·Î´õÀÇ ºÎ¸ð°¡ bootstrap Ŭ·¡½º ·Î´õÀÇ °æ¿ì¿¡ ±×·¯ÇÑ ±¸ÇöÀ¸·Î nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, È£ÃâÃøÀÇ Å¬·¡½º ·Î´õ°¡ null°¡ ¾Æ´Ï°í, ÀÌ Å¬·¡½º ·Î´õÀÇ »óÀ§ °´Ã¼µµ ¾Æ´Ñ °æ¿ì´Â ÀÌ ¸Þ¼­µå´Â RuntimePermission("getClassLoader") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkPermission ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °Í¿¡ÀÇÇØ ģŬ·¡½º ·Î´õ¿¡ ¹®Á¦ ¾ø°Ô ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â SecurityExceptionÀÌ ¹ß»ý µË´Ï´Ù.

¹Ýȯ°ª:
ºÎ¸ðÀÇ ClassLoader
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ±× checkPermission ¸Þ¼­µå°¡ ÀÌ Å¬·¡½º ·Î´õÀÇ Ä£Å¬·¡½º ·Î´õ¿¡°Ô·ÎÀÇ ¾×¼¼½º¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

getSystemClassLoader

public static ClassLoader  getSystemClassLoader()
À§¾çÀ» À§ÇÑ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù. À̰ÍÀº »õ·Î¿î ClassLoader ÀνºÅϽºÀÇ µðÆúÆ®ÀÇ À§¾çÀÇ ºÎ¸ð·Î º¸Åë, ¾îÇø®ÄÉÀ̼ÇÀ» ½ÃÀÛÇϱâ À§ÇÑ Å¬·¡½º ·Î´õÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µå°¡ ÃÖÃʷΠȣÃâµÇ´Â °ÍÀº ½ÇÇà½ÃÀÇ ½ÃÀÛ ¼ø¼­ÀÇ ÃÊÃâ·Â´Ï´Ù. ÀÌ ½ÃÁ¡¿¡¼­ ¸Þ¼­µå´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¸¦ ÀÛ¼ºÇØ, È£ÃâÇÏ´Â Thread ÄÁÅØ½ºÆ® Ŭ·¡½º ·Î´õ¿¡ ±×°ÍÀ» ¼³Á¤ÇÕ´Ï´Ù.

µðÆúÆ®ÀÇ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ´Â ÀÌ Å¬·¡½ºÀÇ ±¸Çö Á¸ ÀνºÅϽºÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ ÃÖÃÊÀÇ È£Ãâ½Ã¿¡ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ ¡¸java.system.class.loader¡¹°¡ Á¤ÀǵǴ °æ¿ì, ÀÌ ÇÁ·ÎÆÛƼÀÇ °ªÀÌ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ·Î¼­ ¸®ÅÏµÈ Å¬·¡½ºÀÇ À̸§ÀÌ µË´Ï´Ù. ÀÌ Å¬·¡½º´Â µðÆúÆ®ÀÇ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¸¦ »ç¿ëÇØ ·Îµå µË´Ï´Ù. ¶Ç, ÀÌ Å¬·¡½º´Â À§¾çÀÇ ºÎ¸ð·Î¼­ »ç¿ëµÇ´Â ClassLoader ÇüÀÇ ´ÜÀÏÀÇ ÆÄ¶ó¹ÌÅ͸¦ ÃëÇÏ´Â public »ý¼ºÀÚ¸¦ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½¿¡ ÀÌ »ý¼ºÀÚ¸¦ »ç¿ëÇØ, µðÆúÆ®ÀÇ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¸¦ ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤ÇØ, ÀνºÅϽº°¡ ÀÛ¼ºµË´Ï´Ù. ÀÛ¼ºµÈ Ŭ·¡½º ·Î´õ´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ·Î¼­ Á¤Àǵ˴ϴÙ.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, È£ÃâÃøÀÇ Å¬·¡½º ·Î´õ°¡ null°¡ ¾Æ´Ï°í, È£ÃâÃøÀÇ Å¬·¡½º ·Î´õ°¡ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Í °°Áö ¾Ê´Â°¡ °Ô´Ù°¡ À§°´Ã¼µµ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼­µå´Â RuntimePermission("getClassLoader") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkPermission ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â SecurityExceptionÀÌ ¹ß»ý µË´Ï´Ù.

¹Ýȯ°ª:
À§¾çÀ» À§ÇÑ ½Ã½ºÅÛ ClassLoader. ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ±× checkPermission ¸Þ¼­µå°¡ ÀÌ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿¡°Ô·ÎÀÇ ¾×¼¼½º¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IllegalStateException - ¡¸java.system.class.loader¡¹ÇÁ·ÎÆÛƼ¿¡ ÀÇÇØ ÁöÁ¤µÈ Ŭ·¡½º ·Î´õÀÇ ±¸Ãà½Ã¿¡ Àç±ÍÀûÀ¸·Î È£ÃâµÇ´Â °æ¿ì
Error - ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ ¡¸java.system.class.loader¡¹´Â Á¤ÀǵÇÁö¸¸, À̸§ ÷ºÎ Ŭ·¡½º¸¦ ·ÎµåÇÒ ¼ö ¾ø´Â °æ¿ì, ÇÁ·Î¹ÙÀÌ´õ Ŭ·¡½º´Â Çʼö »ý¼ºÀÚ¸¦ Á¤ÀÇÇÏÁö ¾Ê´ÂÁö, ±× È£Ãâ½Ã¿¡ ¿¹¿Ü°¡ Throw µÈ´Ù. ¿¡·¯ÀÇ ±Ùº» ¿øÀÎÀº, Throwable.getCause() ¸Þ¼­µå¸¦ »ç¿ëÇØ ÃëµæÇÒ ¼ö ÀÖ´Ù

definePackage

protected Package  definePackage(String  name,
                                String  specTitle,
                                String  specVersion,
                                String  specVendor,
                                String  implTitle,
                                String  implVersion,
                                String  implVendor,
                                URL  sealBase)
                         throws IllegalArgumentException 
ÀÌ ClassLoader·Î À̸§À» »ç¿ëÇØ ÆÐŰÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ Ŭ·¡½º ·Î´õ´Â ±× Ŭ·¡½ºÀÇ ÆÐŰÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù. Ŭ·¡½º¸¦ Á¤ÀÇÇϱâ Àü¿¡ ÆÐŰÁö¸¦ ÀÛ¼ºÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÆÐŰÁö¸í¿¡ ´ëÇØ¼­´Â Ŭ·¡½º ·Î´õ³»¿¡¼­ ÀÏÀÇ·Î ÇØ, ÀÛ¼º ÈÄÀÇ ÀçÁ¤Àdzª º¯°æÀº ÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÆÐŰÁö¸í
specTitle - »ç¾çÀÇ Å¸ÀÌÆ²
specVersion - »ç¾çÀÇ ¹öÀü
specVendor - »ç¾çÀÇ º¥´õ
implTitle - ±¸ÇöÀÇ Å¸ÀÌÆ²
implVersion - ±¸ÇöÀÇ ¹öÀü
implVendor - ±¸ÇöÀÇ º¥´õ
sealBase - null°¡ ¾Æ´Ñ °æ¿ì, ÀÌ ÆÐŰÁö´Â ÁöÁ¤µÈ ÄÚµå ¼Ò½º URL °´Ã¼¸¦ °í·ÁÇØ ¾Á µÈ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÆÐŰÁö´Â ¾Á µÇÁö ¾Ê´Â´Ù
¹Ýȯ°ª:
»õ·Ó°Ô Á¤ÀÇµÈ Package °´Ã¼
¿¹¿Ü:
IllegalArgumentException - ÆÐŰÁö¸íÀÌ, ÀÌ Å¬·¡½º ·Î´õÀΰ¡ ¶Ç´Â °Ô´Ù°¡ À§°´Ã¼ °¡¿îµ¥ 1°³¿¡ Á¸ÀçÇÏ´Â ÆÐŰÁö¿Í Áߺ¹ ÇÏ´Â °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

getPackage

protected Package  getPackage(String  name)
ÀÌ Å¬·¡½º ·Î´õÀΰ¡ °Ô´Ù°¡ À§°´Ã¼ÀÇ ¾î¶² °Í µî¿¡ ÇØ¼­ Á¤ÀÇµÈ Package¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - ÆÐŰÁö¸í
¹Ýȯ°ª:
ÁöÁ¤µÈ À̸§¿¡ ´ëÀÀÇÏ´Â Package. ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â null
µµÀÔµÈ ¹öÀü :
1.2

getPackages

protected Package [] getPackages()
ÀÌ Å¬·¡½º ·Î´õ¿Í °Ô´Ù°¡ À§°´Ã¼¿¡ ÀÇÇØ Á¤ÀÇµÈ ¸ðµç Packages¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ClassLoader¿¡ ÀÇÇØ Á¤ÀÇµÈ Package °´Ã¼ÀÇ ¹è¿­
µµÀÔµÈ ¹öÀü :
1.2

findLibrary

protected String  findLibrary(String  libname)
³×ÀÌÆ¼ºê ¶óÀ̺귯¸®ÀÇ Àý´ë ÆÐ½º¸íÀ» ¸®ÅÏÇÕ´Ï´Ù. VM´Â ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØ, ÀÌ Å¬·¡½º ·Î´õ·Î ·Îµå µÈ Ŭ·¡½º¿¡ ¼ÓÇÏ´Â ³×ÀÌÆ¼ºê ¶óÀ̺귯¸®¸¦ ã¾Æ³À´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ nullÀ» µ¹·ÁÁÖ´Â °æ¿ì, VM´Â ¡¸java.library.path¡¹ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÈ ÆÐ½º¿¡ µû¶ó ¶óÀ̺귯¸®¸¦ °Ë»öÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
libname - ¶óÀ̺귯¸®¸í
¹Ýȯ°ª:
³×ÀÌÆ¼ºê ¶óÀ̺귯¸®ÀÇ Àý´ë ÆÐ½º
µµÀÔµÈ ¹öÀü :
1.2
°ü·Ã Ç׸ñ:
System.loadLibrary(String), System.mapLibraryName(String)

setDefaultAssertionStatus

public void setDefaultAssertionStatus(boolean enabled)
ÀÌ Å¬·¡½º ·Î´õÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¼³Á¤¿¡ÀÇÇØ Àå·¡, ÀÌ Å¬·¡½º ·Î´õ°¡ ·Îµå ¹× ÃʱâÈ­Çϴ Ŭ·¡½ºÀÇ, µðÆúÆ® ¼±¾ðÀÌ À¯È¿ ¶Ç´Â ¹«È¿·Î °áÁ¤µË´Ï´Ù. setPackageAssertionStatus(String, boolean) ¶Ç´Â setClassAssertionStatus(String, boolean)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÀÌ ¼³Á¤À» ÆÐŰÁö ¶Ç´Â Ŭ·¡½º ´ÜÀ§·Î ¿À¹ö¶óÀ̵å(override) ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
enabled - ÀÌ Å¬·¡½º ·Î´õ¿¡ ÀÇÇØ ·Îµå µÇ´Â Ŭ·¡½ºÀÇ ¼±¾ðÀÌ µðÆúÆ®·Î À¯È¿ÇÑ °æ¿ì´Â true, µðÆúÆ®·Î ¹«È¿ÀÎ °æ¿ì´Â false
µµÀÔµÈ ¹öÀü :
1.4

setPackageAssertionStatus

public void setPackageAssertionStatus(String  packageName,
                                      boolean enabled)
À̸§ ÷ºÎ ÆÐŰÁöÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÆÐŰÁöÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¿¡ÀÇÇØ À̸§ ÷ºÎ ÆÐŰÁö ¶Ç´Â ±× ¡¸¼­ºê ÆÐŰÁö¡¹ÀÇ ¾î¶² °ÍÀΰ¡¿¡ ¼ÓÇÏ´Â Àå·¡ ÃʱâÈ­µÇ´Â Ŭ·¡½ºÀÇ ¼±¾ð ½ºÅ×ÀÌÅͽº°¡ Á¤ÇØÁý´Ï´Ù.

p ¶ó´Â À̸§ÀÇ ÆÐŰÁöÀÇ ¼­ºê ÆÐŰÁö´Â ¸ðµÎ À̸§ÀÌ ¡¸p. ¡¹(À¸)·Î ½ÃÀ۵˴ϴÙ. ¿¹¸¦ µé¾î, javax.swing.text´Â javax.swing ¼­ºê ÆÐŰÁöÀÔ´Ï´Ù. ¶ÇÇÑ, java.util¿Í java.lang.reflect´Â ¾î´ÀÂÊÀ̳ª, java ¼­ºê ÆÐŰÁöÀÔ´Ï´Ù.

1°³ÀÇ Å¬·¡½º¿¡ º¹¼öÀÇ µðÆúÆ® ÆÐŰÁö Àû¿ëµÇ´Â °æ¿ì¿¡´Â ±× Ŭ·¡½º¿¡ °¡Àå °ü·Ã¼ºÀÇ ³ôÀº µðÆúÆ® ÆÐŰÁö°¡ ´Ù¸¥ ÆÐŰÁö¿¡ ¿ì¼±ÇØ »ç¿ëµË´Ï´Ù. ¿¹¸¦ µé¾î, javax.lang °ú javax.lang.reflect¸¦ ¾î´ÀÂÊÀ̳ª °ü·ÃµÈ µðÆúÆ® ÆÐŰÁö¸¦ º¸°ü À¯ÁöÇÏ´Â °æ¿ì, ÈÄÀÚÀÇ µðÆúÆ® ÆÐŰÁö´Â javax.lang.reflect ³»ÀÇ Å¬·¡½º¿¡ Àû¿ëµË´Ï´Ù.

µðÆúÆ® ÆÐŰÁö´Â Ŭ·¡½º ·Î´õÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽºº¸´Ù ¿ì¼±µË´Ï´Ù. ´Ù¸¸, setClassAssertionStatus(String, boolean)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î Ŭ·¡½º ´ÜÀ§·Î ¿À¹ö¶óÀ̵å(override) ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
packageName - ÆÐŰÁö µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÏ´Â ÆÐŰÁö¸í. null Ä¡´Â ¡¸current¡¹ÀÇ ¹«¸í ÆÐŰÁöÀÎ °ÍÀ» ³ªÅ¸³½´Ù (¡¸Java ¾ð¾î »ç¾ç¡¹, ¼½¼Ç 7.4. 2)
enabled - ÀÌ Å¬·¡½º ·Î´õ¿¡ ÀÇÇØ ·Îµå µÇ¾î À̸§ ÷ºÎ ÆÐŰÁö ¶Ç´Â ±× ¼­ºê ÆÐŰÁöÀÇ ¾î¶² °ÍÀΰ¡¿¡ ¼ÓÇϴ Ŭ·¡½º°¡ µðÆúÆ®·Î À¯È¿ÇÑ ¼±¾ðÀ» º¸°ü À¯ÁöÇÏ´Â °æ¿ì´Â true, µðÆúÆ®·Î ¹«È¿ÀÎ ¼±¾ðÀ» º¸°ü À¯ÁöÇÏ´Â °æ¿ì´Â false
µµÀÔµÈ ¹öÀü :
1.4

setClassAssertionStatus

public void setClassAssertionStatus(String  className,
                                    boolean enabled)
ÀÌ Å¬·¡½º ·Î´õ ¹× ³»ºÎÀÇ »óÀÚ ±¸Á¶ Ŭ·¡½º³»ÀÇ À̸§ ÷ºÎÀÇ Åé ·¹º§ Ŭ·¡½º¿¡ ´ëÇØ¼­ ¸ñÀûÀÇ ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¼³Á¤Àº Ŭ·¡½º ·Î´õÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº ¹× ÆÐŰÁö ´ÜÀ§·Î Àû¿ë °¡´ÉÇÑ µðÆúÆ®¿¡ ¿ì¼±µË´Ï´Ù. À̸§ ÷ºÎ Ŭ·¡½º°¡ ÃʱâÈ­ ³¡³­ °æ¿ì, ÀÌ ¸Þ¼­µå´Â ¹«È¿°¡ µË´Ï´Ù (Ŭ·¡½ºÀÇ ÃʱâÈ­ ÈÄ¿¡ ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ º¯°æÇÒ ¼ö ¾ø±â ¶§¹®¿¡).

À̸§ ÷ºÎ Ŭ·¡½º°¡ Åé ·¹º§ÀÇ Å¬·¡½º°¡ ¾Æ´Ñ °æ¿ì, ÀÌ È£ÃâÀº ¾î¶°ÇÑ Å¬·¡½ºÀÇ ¼±¾ð ½ºÅ×ÀÌÅͽº¿¡ ´ëÇØ¼­µµ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. ¹Ýȯ°ªÀº ¹ÌÁ¤µµ¸®°¡ µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
className - ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ ¼³Á¤ÇÏ´Â Åé ·¹º§ÀÇ Å¬·¡½ºÀÇ ¿ÏÀü ¼ö½Ä Ŭ·¡½º¸í
enabled - ÃʱâÈ­½Ã¿¡ À̸§ ÷ºÎ Ŭ·¡½º¿¡¼­ ¼±¾ðÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¼±¾ðÀ» ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
µµÀÔµÈ ¹öÀü :
1.4

clearAssertionStatus

public void clearAssertionStatus()
ÀÌ Å¬·¡½º ·Î´õÀÇ µðÆúÆ® ¼±¾ð ½ºÅ×ÀÌÅͽº¸¦ false·Î ¼³Á¤ÇØ, Ŭ·¡½º ·Î´õ°¡ °ü·ÃµÈ µðÆúÆ® ÆÐŰÁö ¹× Ŭ·¡½º ¼±¾ð ½ºÅ×ÀÌÅͽº ¼³Á¤À» ¸ðµÎ ÆÄ±âÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ ÀÌ¿ëÇϸé, Ŭ·¡½º ·Î´õ°¡ Ä¿¸àµåÇà ¶Ç´Â Áö¼ÓÀûÀÎ ¼±¾ð ½ºÅ×ÀÌÅͽº ¼³Á¤À» ¸ðµÎ ¹«½ÃÇϱâ À§ÇØ, ¡¸±ú²ýÇÑ »óÅ·Ρ¹½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.4

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.