|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Ŭ·¡½ºÀÇ Á÷·ÄÈ °¡´É¼ºÀº java.io.Serializable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ Å¬·¡½º¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µË´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖÁö ¾Ê´Â Ŭ·¡½º¿¡¼´Â ±× »óŰ¡ Á÷·ÄÈ ¶Ç´Â Á÷·ÄÈ º¹¿øµÉ °ÍÀº ¾ø½À´Ï´Ù. Á÷·ÄÈ °¡´É Ŭ·¡½ºÀÇ ¾Æ·ùÇüÀº ¸ðµÎ ±× ÀÚü°¡ Á÷·ÄÈ °¡´ÉÇÕ´Ï´Ù. Á÷·ÄÈ ÀÎÅÍÆäÀ̽º¿¡´Â ¸Þ¼Òµå³ª Çʵå´Â ¾ø°í, Á÷·ÄÈ °¡´ÉÇÑ °ÍÀ» ½Äº°Çϱâ À§ÇØ(¶§¹®¿¡)ÀÎ ¸¸Å ±â´ÉÇÕ´Ï´Ù.
ºñÁ÷·ÄÈ °¡´É Ŭ·¡½ºÀÇ ¾Æ·ùÇüÀ» Á÷·ÄÈ °¡´ÉÇÏ°Ô Çϱâ À§ÇÑ(ÇØ), ¾Æ·ùÇü¿¡¼´Â ½´ÆÛŸÀÔÀÇ public Çʵå, protected Çʵå, ¹× (¾×¼¼½º °¡´ÉÇϸé) package ÇÊµå »óŸ¦ º¸Á¸Çϰųª º¹¿øÇϰųª ÇÒ Ã¥ÀÓÀ» »óÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ¾Æ·ùÇüÀ¸·Î ÀÌ Ã¥ÀÓÀ» »óÁ¤ÇÒ ¼ö ÀÖ´Â °ÍÀº ±×°ÍÀÌ È®ÀåÇϴ Ŭ·¡½º¿¡, Ŭ·¡½º »óŸ¦ ÃʱâÈÇϱâ À§ÇÑ ¾×¼¼½º °¡´ÉÇÑ Àμö ¾øÀ½ÀÇ constructor ÀÌ ÀÖ´Â °æ¿ì¸¸ÀÔ´Ï´Ù. constructor ÀÌ ¾ø´Â °æ¿ì´Â Serializable Ŭ·¡½º¸¦ ¼±¾ðÇϸé(ÀÚ) ¿¡·¯°¡ µË´Ï´Ù. ¿¡·¯´Â ½ÇÇà½Ã¿¡ °ËÃâµË´Ï´Ù.
Á÷·ÄÈ º¹¿ø¶§´Â ºñÁ÷·ÄÈ °¡´É Ŭ·¡½ºÀÇ Çʵå´Â ±× Ŭ·¡½ºÀÇ public ¶Ç´Â protected ÀÇ Àμö ¾øÀ½ÀÇ constructor¸¦ »ç¿ëÇØ Ãʱâȵ˴ϴÙ. Àμö ¾øÀ½ÀÇ constructor Àº Á÷·ÄÈ °¡´É ¼ºê Ŭ·¡½º·ÎºÎÅÍ ¾×¼¼½º °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. Á÷·ÄÈ °¡´É ¼ºê Ŭ·¡½ºÀÇ Çʵå´Â ½ºÆ®¸²À¸·ÎºÎÅÍ º¹¿øµË´Ï´Ù.
¿ÀºêÁ§Æ® ±×·¡ÇÁÀÇ ¼øÈ¸Áß¿¡, Á÷·ÄÈ °¡´É ÀÎÅÍÆäÀ̽º¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾ÊÀ» °¡´É¼ºÀÌ ÀÖ´Â ¿ÀºêÁ§Æ®¿¡ Á¶¿ìÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â NotSerializableException °¡ ½½·Î¿ì µÇ¾î ºñÁ÷·ÄÈ °¡´É ¿ÀºêÁ§Æ®ÀÇ Å¬·¡½º¸¦ ½Äº°ÇÕ´Ï´Ù.
Á÷·ÄÈ¿Í Á÷·ÄÈ º¹¿ø ½Ã¿¡ Ư¼öÇÑ Ãë±ÞÀÌ ÇÊ¿äÇÑ Å¬·¡½º¿¡¼´Â Á¤È®ÇÏ°Ô ´ÙÀ½°ú °°Àº ÇüŸ¦ °¡Áö´Â Ư¼öÇÑ ¸Þ¼Òµå¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
private void writeObject(java.io.ObjectOutputStream out) throws IOException private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
writeObject ¸Þ¼Òµå¿¡¼´Â ±× °³°³ÀÇ Å¬·¡½ºÀÇ ¿ÀºêÁ§Æ® »óŸ¦ ±âÀÔÇÒ Ã¥ÀÓÀÌ ÀÖ¾î, ´ëÀÀÇÏ´Â readObject ¸Þ¼Òµå·Î º¹¿øÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. out.defaultWriteObject ¸¦ È£ÃâÇϸé, ¿ÀºêÁ§Æ®ÀÇ Çʵ带 º¸Á¸Çϱâ À§ÇÑ µðÆúÆ®ÀÇ ±â±¸¸¦ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±× ¸Þ¼Òµå ÀÚ½ÅÀº ±× ½´ÆÛ Ŭ·¡½º ¶Ç´Â ¼ºê Ŭ·¡½º¿¡ ¼ÓÇÏ´Â »óÅ¿¡ °ü¿©ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. »óŸ¦ º¸Á¸ÇÏ·Á¸é , writeObject ¸Þ¼Òµå¸¦ »ç¿ëÇØ °³°³ÀÇ Çʵ带 ObjectOutputStream ¿¡ ±âÀÔÇÏ´ÂÁö ¶Ç´Â DataOutput ·Î ¼Æ÷Æ®ÇÏ´Â ´Ü¼øÇÑ µ¥ÀÌÅÍ Å¸ÀÔ¿ëÀÇ ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
readObject ¸Þ¼Òµå´Â ½ºÆ®¸²À¸·ÎºÎÅÍ Àоîµé¿© Ŭ·¡½ºÀÇ Çʵ带 º¹¿øÇÒ Ã¥ÀÓÀÌ ÀÖ½À´Ï´Ù. in.defaultReadObject ¸Þ¼Òµå¸¦ È£ÃâÇØ, ±× ¿ÀºêÁ§Æ®ÀÇ ºñ static ÇÊµå ¹× ºñ transient Çʵ带 º¹¿øÇϱâ À§ÇÑ µðÆúÆ®ÀÇ ±â±¸¸¦ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. defaultReadObject ¸Þ¼Òµå´Â ½ºÆ®¸²ÀÇ Á¤º¸¸¦ »ç¿ëÇØ, ÇöÀçÀÇ ¿ÀºêÁ§Æ®³»ÀÇ ´ëÀÀÇÏ´Â À̸§À» ºÙÀÏ ¼ö ÀÖ¾ú´ø Çʵ忡¼, ½ºÆ®¸²¿¡ º¸Á¸µÈ ¿ÀºêÁ§Æ®ÀÇ Çʵ带 ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â »õ·Î¿î Çʵ带 Ãß°¡Çϱâ À§Çؼ Ŭ·¡½º°¡ Àü°³µÇ´Â °æ¿ì¸¦ Ãë±ÞÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå ÀÚ½ÅÀº ±× ½´ÆÛ Ŭ·¡½º ¶Ç´Â ¼ºê Ŭ·¡½º¿¡ ¼ÓÇÏ´Â »óÅ¿¡ ±×°Í ÀÚ½ÅÀÌ °ü¿©ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. »óÅ´ writeObject ¸Þ¼Òµå¸¦ »ç¿ëÇØ °³°³ÀÇ Çʵ带 ObjectOutputStream ¿¡ ±âÀÔÇÏ´ÂÁö ¶Ç´Â DataOutput ·Î ¼Æ÷Æ®ÇÏ´Â ±âº» µ¥ÀÌÅÍÇü¿ëÀÇ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î º¸Á¸ÇÕ´Ï´Ù.
½ºÆ®¸²¿¡ ¿ÀºêÁ§Æ®¸¦ ±âÀÔÇÒ ¶§ »ç¿ëÇÏ´Â ´ëü ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Â Á÷·ÄÈ °¡´É Ŭ·¡½º¿¡¼´Â ´ÙÀ½ÀÇ ÇüŸ¦ Á¤È®ÇÏ°Ô ÁöÁ¤ÇØ, ÀÌ Æ¯º°ÇÑ ¸Þ¼Òµå¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException;
ÀÌ writeReplace ¸Þ¼Òµå°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â Á÷·ÄÈ·Î ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù. ¶Ç, ÀÌ ¸Þ¼Òµå´Â Á÷·ÄÈ µÇ´Â ¿ÀºêÁ§Æ®ÀÇ Å¬·¡½º³»¿¡¼ Á¤Àǵǰí ÀÖ´Â ¸Þ¼Òµå·ÎºÎÅÍ ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, ÀÌ ¸Þ¼Òµå¿¡¼´Â private, protected, ¹× package-private ·Î ¾×¼¼½º ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå¿¡ ´ëÇÑ ¼ºê Ŭ·¡½ºÀÇ ¾×¼¼½º¿¡ ´ëÇØ¼´Â java ÀÇ ¾×¼¼½º °¡´É¼º ±ÔÄ¢¿¡ ÁذÅÇÕ´Ï´Ù.
´ëü ¿ÀºêÁ§Æ®ÀÇ ÀνºÅϽº¸¦ ½ºÆ®¸²À¸·ÎºÎÅÍ ÀоîµéÀÏ ¶§ ±× ¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 Àִ Ŭ·¡½º¿¡¼´Â ´ÙÀ½ÀÇ ÇüŸ¦ Á¤È®ÇÏ°Ô ÁöÁ¤ÇØ, ÀÌ Æ¯º°ÇÑ ¸Þ¼Òµå¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException;
ÀÌ readResolve ¸Þ¼Òµå´Â writeReplace ¿Í °°Àº È£ÃâÇØ ±ÔÄ¢°ú ¾×¼¼½º °¡´É¼º ±ÔÄ¢¿¡ ÁذÅÇÕ´Ï´Ù.
ObjectOutputStream
,
ObjectInputStream
,
ObjectOutput
,
ObjectInput
,
Externalizable
|
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.