½ºÆ®¸²À» ÀÌ¿ëÇØ¼ Á÷·ÄÈ ÇÒ ¶§ °´Ã¼ÀÇ ¸ðµç »óÅÂÁ¤º¸¸¦ Á÷·ÄÈÇÏ°Ô µË´Ï´Ù. ÇÏÁö¸¸, Ŭ·¡½º¸¦ µðÀÚÀÎÇÏ´Ù º¸¸é ¼ø°£ÀûÀ¸·Î »ç¿ëÇÏ°í ¹ö¸®´Â ÇÊ¿ä¾ø´Â Á¤º¸µµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Á¤º¸¸¦ Á¦¿Ü ½Ã۱â À§Çؼ transientŰ¿öµå¸¦ »ç¿ëÇÕ´Ï´Ù.
Ŭ·¡½º¸¦ ¸¸µé´Ù º¸¸é Áß¿äÇÏÁö´Â ¾ÊÁö¸¸ Àü¿ª º¯¼ö·Î »ç¿ëÇϱâ À§Çؼ ¾î¿ ¼ö ¾øÀÌ ¸â¹öº¯¼ö·Î ¸¸µå´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¿©·¯ºÐµµ Ŭ·¡½º¸¦ À¢¸¸Å ¸¸µé¾î º¸¾Ò´Ù¸é ÀÌ·± °æÇèÀº ÈçÇÒ °ÍÀÔ´Ï´Ù. ÀÌ·± Á¤º¸´Â º¸°üÇÒ Çʿ䰡 ¾ø´Â °ÍÀÌ Çã´ÙÇÕ´Ï´Ù. À̶§ ÀúÀåÇÒ Çʿ䰡 ¾ø´Ù°í »ý°¢µÈ´Ù¸é Á¢±ÙÁöÁ¤ÀÚ ´ÙÀ½¿¡ transient¸¦ ºÙÀ̸é Á÷·ÄÈ¿¡¼ ¿ÏÀü Á¦¿ÜµÇ¾î ¹ö¸³´Ï´Ù. ¿¹Á¦¸¦ ÀÌ¿ëÇØ¼ Á÷Á¢ ±¸Çö ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
TransientObject.java(transient¸¦ Æ÷ÇÔÇÑ Á÷·ÄÈ °´Ã¼) |
import java.io.*; public class TransientObject implements Serializable{ private String name; // À̸§ private String dept; // ºÎ¼ private transient String title; // Á÷Ã¥ public TransientObject (String name, String dept, String title) { this.name = name; this.dept = dept; this.title = title; } public String toString(){ return name + ":" + dept + ":" + title; } } |
TransientObjectTest.java(transient¸¦ Æ÷ÇÔÇÑ Á÷·ÄÈ °´Ã¼ Å×½ºÆ®) |
import java.io.*; public class TransientObjectTest { public static void main(String[] args) throws Exception { FileOutputStream fos = new FileOutputStream("object.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); TransientObject so1 = new TransientObject("È«±æµ¿", "Ãѹ«ºÎ", "°úÀå"); TransientObject so2 = new TransientObject("±è»ñ°«", "¿µ¾÷ºÎ", "°úÀå"); TransientObject so3 = new TransientObject("¾ÏÇà¾î", "ÀλçºÎ", "°úÀå"); oos.writeObject(so1); oos.writeObject(so2); oos.writeObject(so3); oos.close(); FileInputStream fis = new FileInputStream("object.txt"); ObjectInputStream ois = new ObjectInputStream(fis); TransientObject rso1 = (TransientObject)ois.readObject(); TransientObject rso2 = (TransientObject)ois.readObject(); TransientObject rso3 = (TransientObject)ois.readObject(); System.out.println(rso1.toString()); System.out.println(rso2.toString()); System.out.println(rso3.toString()); ois.close(); } } |
C:\JavaExample\12>javac TransientObject.java C:\JavaExample\12>javac TransientObjectTest.java C:\JavaExample\12>java TransientObjectTest È«±æµ¿:Ãѹ«ºÎ:null ±è»ñ°«:¿µ¾÷ºÎ:null ¾ÏÇà¾î:ÀλçºÎ:null |
SerializableÀ» ±¸ÇöÇϱâ À§ÇÑ ¿¹Á¦ ºÎºÐ¿¡ ÇÑ ºÎºÐÁ¤µµ¸¦ ¹Ù²Ù¾î º¸¾Ò½À´Ï´Ù. ´ÙÀ½ ±¸¹®¿¡ transient¸¦ ºÙ¿´´Ù´Â °Í À̿ܿ¡´Â º°·Î ¹Ù²ï °ÍÀÌ ¾ø½À´Ï´Ù.
n private transient String title;
Á÷·ÄÈ ÇÒ ¶§ String titleºÎºÐÀÌ Á¦¿Ü µÇ¾ú±â ¶§¹®¿¡ °á°ú´Â titleºÎºÐÀÌ null·Î Ãâ·ÂµÇ°í ÀÖ½À´Ï´Ù.
n È«±æµ¿:Ãѹ«ºÎ:null
n ±è»ñ°«:¿µ¾÷ºÎ:null
n ¾ÏÇà¾î:ÀλçºÎ:null
transient´Â º¹ÀâÇÑ °³³äÀÌ ¾Æ´Õ´Ï´Ù. ´ÜÁö °´Ã¼¸¦ Á÷·ÄÈ Çϴµ¥ Á¦¿ÜÇϰڴٴ ÀÇ¹Ì À̿ܿ¡´Â º°´Ù¸¥ °³³äÀº ¾ø½À´Ï´Ù. ÇÏÁö¸¸, ÇÁ·Î±×·¥»ó¿¡¼ ²À ÀúÀåÀ» ÇØ¾ß ÇÒ °Í°ú ÀúÀåÇÏÁö ¸»¾Æ¾ß ÇÒ °ÍÀ» ±¸ºÐÇÏ´Â ÀÛ¾÷Àº ÀüÀûÀ¸·Î ÇÁ·Î±×·¡¸Ó¿¡°Ô ´Þ·Á ÀÖ½À´Ï´Ù. Á÷·ÄÈ µÉ Çʵå´Â non-static, non-transient·Î ¼±¾ðÇØ¾ß¸¸ Á÷·ÄÈÇÒ ¶§ Æ÷ÇÔÀÌ µÈ´Ù´Â °ÍÀ» ±â¾ïÇϽñ⠹ٶø´Ï´Ù. staticº¯¼ö´Â °øÀ¯¸Þ¸ð¸® °³³äÀ» °¡Áö°í Àֱ⠶§¹®¿¡ Á÷·ÄÈ ÇÒ ¶§ Á¦¿Ü µË´Ï´Ù. Transient´Â ´ç¿¬È÷ Á÷·ÄÈ¿¡¼ Á¦¿Ü µË´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |