JavaTM 2 Platform
Standard Ed. 5.0

java.util
Ŭ·¡½º Observable

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.Observable

public class Observable
extends Object

ÀÌ Å¬·¡½º´Â Çǰ¨½Ã ¿ÀºêÁ§Æ®, Áï ¸ðµ¨/ºäÆÄ¶ó´ÙÀÓÀÇ ¡¸µ¥ÀÌÅÍ¡¹¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ Å¬·¡½º¸¦ ¼­ºê Ŭ·¡½ºÈ­ÇÏ´Â °Í¿¡ ÇØ, ¾îÇø®ÄÉÀ̼ÇÀÌ °¨½Ã¸¦ Èñ¸ÁÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ³ªÅ¸³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

Çǰ¨½Ã ¿ÀºêÁ§Æ®¿¡´Â 1 °³ ¶Ç´Â º¹¼öÀÇ ¿ÉÀú¹ö°¡ ÀÖ½À´Ï´Ù. ¿ÉÀú¹ö´Â Observer ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ÀÓÀÇÀÇ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. Çǰ¨½Ã ÀνºÅϽº·Î º¯°æÀÌ ÀÖÀ¸¸é, ÀÌ Observable notifyObservers ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº, ±× ¸ðµç ¿ÉÀú¹ö¿¡ ´ëÇØ, ±×·¯ÇÑ update ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÇØ º¯°æÀ» ÅëÁöÇÕ´Ï´Ù.

ÅëÁö°¡ Àü´ÞµÇ´Â ¼ø¼­´Â Á¤ÇØÁ® ÀÖÁö ¾Ê½À´Ï´Ù. Observable Ŭ·¡½º¿¡¼­ Á¦°øµÇ´Â µðÆúÆ®ÀÇ ±¸Çö¿¡¼­´Â µî·ÏÇÑ ¼ø¼­·Î Observer ¿¡ ÅëÁöÇÕ´Ï´Ù¸¸, ¼­ºê Ŭ·¡½º¿¡¼­´Â ÀÌ ¼ø¼­¸¦ º¯°æÇϰųª º¸ÁõµÇÁö ¾Ê´Â ¼ø¼­¸¦ »ç¿ëÇϰųª thread ¸¶´Ù ÅëÁö¸¦ Àü´ÞÇϰųª Çʿ信 µû¶ó¼­, ¼­ºê Ŭ·¡½ºÀÇ ¼­ºê Ŭ·¡½º°¡ ÀÌ ¼ø¼­¿¡ µû¸£´Â °ÍÀ» º¸ÁõÇϰųª ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÀÌ ÅëÁö µµ±¸ ´Â thread¿Í´Â ¹«°ü°èÇϰí,Object Ŭ·¡½ºÀÇ wait ¹× notify µµ±¸ ·ÎºÎÅÍ´Â ¿ÏÀüÇÏ°Ô µ¶¸³Çϰí ÀÖ´Â Á¡¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

Çǰ¨½Ã ¿ÀºêÁ§Æ®°¡ »õ·Ó°Ô ÀÛ¼ºµÈ ½ÃÁ¡¿¡¼­´Â ¿ÉÀú¹ö¼¼Æ®´Â ÇÏ´ÃÀÔ´Ï´Ù. 2 °³ÀÇ ¿ÉÀú¹ö¿¡ ´ëÇØ¼­ equals ¸Þ¼­µå°¡ true¸¦ µ¹·ÁÁÖ´Â °æ¿ì¿¡¸¸, ±×·¯ÇÑ ¿ÉÀú¹ö´Â µ¿ÀÏÇÏ´Ù°í º¸¿©Áý´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
JDK1. 0
°ü·Ã Ç׸ñ:
notifyObservers(), notifyObservers(java.lang.Object), Observer, Observer.update(java.util.Observable, java.lang.Object)

»ý¼ºÀÚ °³¿ä
Observable ()
          Á¦·ÎÀÇ ¿ÉÀú¹ö·Î Çǰ¨½Ã ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void addObserver (Observer  o)
          ¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹ö ¼¼Æ®¿¡ ¿ÉÀú¹ö¸¦ Ãß°¡ÇÕ´Ï´Ù.
protected  void clearChanged ()
          ¿ÀºêÁ§Æ®°¡ ÀÌ¹Ì º¯°æµÈ »óŰ¡ ¾Æ´Ñ °Í, Áï, ÃÖ½ÅÀÇ º¯°æÀÌ ¸ðµÎ ¿ÉÀú¹ö¿¡ ÅëÁöµÈ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
 int countObservers ()
          Observable ¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹öÀÇ ¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.
 void deleteObserver (Observer  o)
          ¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹ö ¼¼Æ®·ÎºÎÅÍ ¿ÉÀú¹ö¸¦ »èÁ¦ÇÕ´Ï´Ù.
 void deleteObservers ()
          ¿ÉÀú¹ö ¸®½ºÆ®¸¦ ¼Ò°ÅÇÕ´Ï´Ù.
 boolean hasChanged ()
          ¿ÀºêÁ§Æ®°¡ º¯°æµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 void notifyObservers ()
          ¿ÀºêÁ§Æ®°¡,hasChanged ¸Þ¼­µå¿¡ ³ªÅ¸³ªµµ·Ï(µíÀÌ) º¯°æµÇ°í ÀÖ¾úÀ» °æ¿ì, ±× ¸ðµç ¿ÉÀú¹ö¿¡ ±×°ÍÀ» ÅëÁöÇØ, ´ÙÀ½¿¡ clearChanged ¸Þ¼­µå¸¦ È£ÃâÇØ, ÀÌ ¿ÀºêÁ§Æ®°¡ ÀÌ¹Ì º¯°æµÈ »óŰ¡ ¾Æ´Ñ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
 void notifyObservers (Object  arg)
          ¿ÀºêÁ§Æ®°¡,hasChanged ¸Þ¼­µå¿¡ ³ªÅ¸³ªµµ·Ï(µíÀÌ) º¯°æµÇ°í ÀÖ¾úÀ» °æ¿ì, ±× ¸ðµç ¿ÉÀú¹ö¿¡ ±×°ÍÀ» ÅëÁöÇØ, ´ÙÀ½¿¡ clearChanged ¸Þ¼­µå¸¦ È£ÃâÇØ, ÀÌ ¿ÀºêÁ§Æ®°¡ ÀÌ¹Ì º¯°æµÈ »óŰ¡ ¾Æ´Ñ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
protected  void setChanged ()
          Observable ¿ÀºêÁ§Æ®°¡ º¯°æµÈ °ÍÀ¸·Î¼­ ¸¶Å· ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

Observable

public Observable()
Á¦·ÎÀÇ ¿ÉÀú¹ö·Î Çǰ¨½Ã ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù.

¸Þ¼­µåÀÇ »ó¼¼

addObserver

public void addObserver(Observer  o)
¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹ö ¼¼Æ®¿¡ ¿ÉÀú¹ö¸¦ Ãß°¡ÇÕ´Ï´Ù. ´Ù¸¸, ¹ú½á ¿ÉÀú¹ö ¼¼Æ®¿¡ ÀÖ´Â ¿ÉÀú¹ö¿Í °°Áö ¾ÊÀº °Í¿¡ ÇÑÁ¤ÇÕ´Ï´Ù. º¹¼öÀÇ ¿ÉÀú¹ö¿¡ ÅëÁö°¡ Àü´ÞµÇ´Â ¼ø¼­´Â ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. Ŭ·¡½ºÀÇ ÄÚ¸àÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÆÄ¶ó¹ÌÅÍ:
o - Ãß°¡ÇÏ´Â ¿ÉÀú¹ö
¿¹¿Ü:
NullPointerException - ÆÄ¶ó¹ÌÅÍ o °¡ null °æ¿ì

deleteObserver

public void deleteObserver(Observer  o)
¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹ö ¼¼Æ®·ÎºÎÅÍ ¿ÉÀú¹ö¸¦ »èÁ¦ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¿¡ null¸¦ °Ç³×Á־, ¹«½¼ È¿°úµµ ¾ø½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
o - »èÁ¦ÇÏ´Â ¿ÉÀú¹ö

notifyObservers

public void notifyObservers()
¿ÀºêÁ§Æ®°¡,hasChanged ¸Þ¼­µå¿¡ ³ªÅ¸³ªµµ·Ï(µíÀÌ) º¯°æµÇ°í ÀÖ¾úÀ» °æ¿ì, ±× ¸ðµç ¿ÉÀú¹ö¿¡ ±×°ÍÀ» ÅëÁöÇØ, ´ÙÀ½¿¡ clearChanged ¸Þ¼­µå¸¦ È£ÃâÇØ, ÀÌ ¿ÀºêÁ§Æ®°¡ ÀÌ¹Ì º¯°æµÈ »óŰ¡ ¾Æ´Ñ °ÍÀ» ³ªÅ¸³À´Ï´Ù.

°¢ ¿ÉÀú¹öÀÇ update ¸Þ¼­µå°¡ 2 °³ÀÇ Àμö (ÀÌ Çǰ¨½Ã ¿ÀºêÁ§Æ®¿Í null)·Î ºÒ·Á °©´Ï´Ù. Áï, ÀÌ ¸Þ¼­µå´Â ´ÙÀ½°ú °°°Ô µË´Ï´Ù.

notifyObservers(null)

°ü·Ã Ç׸ñ:
clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)

notifyObservers

public void notifyObservers(Object  arg)
¿ÀºêÁ§Æ®°¡,hasChanged ¸Þ¼­µå¿¡ ³ªÅ¸³ªµµ·Ï(µíÀÌ) º¯°æµÇ°í ÀÖ¾úÀ» °æ¿ì, ±× ¸ðµç ¿ÉÀú¹ö¿¡ ±×°ÍÀ» ÅëÁöÇØ, ´ÙÀ½¿¡ clearChanged ¸Þ¼­µå¸¦ È£ÃâÇØ, ÀÌ ¿ÀºêÁ§Æ®°¡ ÀÌ¹Ì º¯°æµÈ »óŰ¡ ¾Æ´Ñ °ÍÀ» ³ªÅ¸³À´Ï´Ù.

°¢ ¿ÉÀú¹öÀÇ update ¸Þ¼­µå°¡ 2 °³ÀÇ Àμö (ÀÌ Çǰ¨½Ã ¿ÀºêÁ§Æ®¿Í arg)·Î ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
arg - ÀÓÀÇÀÇ ¿ÀºêÁ§Æ®
°ü·Ã Ç׸ñ:
clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)

deleteObservers

public void deleteObservers()
¿ÉÀú¹ö ¸®½ºÆ®¸¦ ¼Ò°ÅÇÕ´Ï´Ù. ÀÌ °á°ú, ¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹ö´Â Á¸ÀçÇÏÁö ¾Ê°Ô µË´Ï´Ù.


setChanged

protected void setChanged()
Observable ¿ÀºêÁ§Æ®°¡ º¯°æµÈ °ÍÀ¸·Î¼­ ¸¶Å· ÇÕ´Ï´Ù. hasChanged ¸Þ¼­µå´Â true¸¦ µ¹·ÁÁÖ°Ô µË´Ï´Ù.


clearChanged

protected void clearChanged()
¿ÀºêÁ§Æ®°¡ ÀÌ¹Ì º¯°æµÈ »óŰ¡ ¾Æ´Ñ °Í, Áï, ÃÖ½ÅÀÇ º¯°æÀÌ ¸ðµÎ ¿ÉÀú¹ö¿¡ ÅëÁöµÈ °ÍÀ» ³ªÅ¸³À´Ï´Ù. À̰Ϳ¡ ÇØ,hasChanged ¸Þ¼­µå´Â false¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â notifyObservers ¸Þ¼­µå¿¡ ÇØ ÀÚµ¿ÀûÀ¸·Î ºÒ·Á °©´Ï´Ù.

°ü·Ã Ç׸ñ:
notifyObservers(), notifyObservers(java.lang.Object)

hasChanged

public boolean hasChanged()
¿ÀºêÁ§Æ®°¡ º¯°æµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.

¹Ýȯ°ª:
¿ÀºêÁ§Æ®¿¡ ´ëÇØ,clearChanged ¸Þ¼­µåº¸´Ù ³ªÁß¿¡ setChanged ¸Þ¼­µå°¡ ºÒ·Á °¬À» °æ¿ì¿¡¸¸ true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
clearChanged(), setChanged()

countObservers

public int countObservers()
Observable ¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹öÀÇ ¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹öÀÇ ¼ö

JavaTM 2 Platform
Standard Ed. 5.0

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