JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util
Ŭ·¡½º Observable

java.lang.Object 
  |
  +--java.util.Observable

public class Observable
extends Object

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

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

ÅëÁö°¡ Àü´ÞµÇ´Â ¼ø¼­´Â Á¤ÇØÁ® ÀÖÁö ¾Ê½À´Ï´Ù. Observerable Ŭ·¡½º¿¡¼­ Á¦°øµÇ´Â µðÆúÆ®ÀÇ ±¸Çö¿¡¼­´Â µî·ÏÇÑ ¼ø¼­·Î 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)
¿ÀºêÁ§Æ®ÀÇ ¿ÉÀú¹ö ¼¼Æ®·ÎºÎÅÍ ¿ÉÀú¹ö¸¦ »èÁ¦ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
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
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.