ÄÜÅÙÃ÷ »ó¼¼º¸±â
ÀÚ¹Ù ¿É¼Å³Î


ÀÚ¹Ù ¿É¼Å³Î

ÀÚ¹Ù ¿É¼Å³Î

<¿Â°³¹ßÆÀ> Àú | ¿Â³ëÆ®

Ãâ°£ÀÏ
2024-08-22
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
1 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

Java¿¡¼­ Optional Ŭ·¡½º¸¦ ÀÌÇØÇÏ°í È¿°úÀûÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ Æ÷°ýÀûÀÎ °¡À̵åÀÎ "ÀÚ¹Ù ¿É¼Å³Î"¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù. Ãʺ¸ÀÚ¿Í ¼÷·ÃµÈ °³¹ßÀÚ ¸ðµÎ¸¦ À§ÇØ ¼³°èµÈ ÀÌ Ã¥Àº Java 8¿¡¼­ µµÀÔµÈ °­·ÂÇÑ ±â´ÉÀÎ Optional¿¡ ´ëÇÑ ½ÉÃþÀûÀΠŽ±¸¸¦ Á¦°øÇϸç, ÀÌ ±â´ÉÀº º¸´Ù ¿ì¾ÆÇÏ°í Ç¥Çö·Â ÀÖ´Â ¹æ½ÄÀ¸·Î °ªÀÇ Á¸Àç ¶Ç´Â ºÎÀ縦 °ü¸®ÇÏ´Â µ¥ µµ¿òÀÌ µË´Ï´Ù. ÀÌ Ã¥À» ±íÀÌ ÆÄ°íµé¸é OptionalÀ» È°¿ëÇÏ¿© ´õ ±ò²ûÇÏ°í Àб⠽¬¿î Äڵ带 ÀÛ¼ºÇÏ°í, ÀϹÝÀûÀÎ ÇÔÁ¤À» ÇÇÇÏ°í, Àü¹ÝÀûÀÎ ÇÁ·Î±×·¡¹Ö °üÇàÀ» °³¼±ÇÏ´Â ¹æ¹ýÀ» ¹è¿ï ¼ö ÀÖ½À´Ï´Ù.

1Àå "Java Optional ¼Ò°³"´Â OptionalÀÇ °³³äÀ» ¼Ò°³ÇÏ´Â °ÍÀ¸·Î ½ÃÀÛÇÕ´Ï´Ù. OptionalÀÌ ¹«¾ùÀÎÁö, Java ¾ð¾î¿¡¼­ÀÇ ¸ñÀû, ±×¸®°í ½Ã°£¿¡ µû¸¥ ÁøÈ­¸¦ »ìÆ캸°Ú½À´Ï´Ù. ÀÌ Àå¿¡¼­´Â Optional¿¡ ´ëÇÑ ´Ù¾çÇÑ »ç¿ë »ç·Êµµ ´Ù·ç¸ç, ÀÌ Å¬·¡½º°¡ Çö´ë Java ÇÁ·Î±×·¡¹Ö¿¡¼­ ¾î¶»°Ô À¯ÀÍÇÒ ¼ö ÀÖ´ÂÁö ÀÌÇØÇÏ´Â µ¥ °ß°íÇÑ ±â¹ÝÀ» Á¦°øÇÕ´Ï´Ù.

2Àå "Optional ÀνºÅϽº ¸¸µé±â"´Â Optional ÀνºÅϽº¸¦ ¸¸µå´Â ´Ù¾çÇÑ ¹æ¹ýÀ» »ìÆ캾´Ï´Ù. Optional.of(), Optional.ofNullable(), Optional.empty() ÆÑÅ丮 ¸Þ¼­µå¿¡ ´ëÇØ ¾Ë¾Æº¸°í °¢ ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â µ¥ ÀûÇÕÇÑ ½Ã³ª¸®¿À¸¦ ÀÌÇØÇÕ´Ï´Ù. ÀÌ Àå¿¡¼­´Â ¶ÇÇÑ Optional ÀνºÅϽº¸¦ ¸¸µå´Â ÀϹÝÀûÀÎ ÆÐÅÏÀ» ´Ù·ç°í ÇÊ¿ä¿¡ ¸Â´Â ¿Ã¹Ù¸¥ Á¢±Ù ¹æ½ÄÀ» ¼±ÅÃÇÏ´Â µ¥ ´ëÇÑ ½Ç¿ëÀûÀÎ ÁöħÀ» Á¦°øÇÕ´Ï´Ù.

3Àå "Optional ÀÛ¾÷"Àº Äڵ忡¼­ OptionalÀ» È¿°úÀûÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ÁßÁ¡À» µÓ´Ï´Ù. Optional¿¡ ÀúÀåµÈ °ª¿¡ ¾×¼¼½ºÇÏ°í º¯È¯ÇÏ´Â ¹æ¹ý, °ªÀÌ ¾ø´Â °æ¿ì¸¦ ó¸®ÇÏ´Â ¹æ¹ý, Äڵ带 °£¼ÒÈ­Çϱâ À§ÇÑ Ã¼ÀÎ ÀÛ¾÷À» ¾Ë¾Æº¾´Ï´Ù. ÀÌ Àå¿¡¼­´Â Äڵ尡 ±ò²ûÇÏ°í °ß°íÇÏ°Ô À¯ÁöµÇµµ·Ï OptionalÀ» »ç¿ëÇÏ´Â ¸ð¹ü »ç·Ê¸¦ °­Á¶ÇÕ´Ï´Ù.

4Àå "¸ð¹ü »ç·Ê ¹× ÀϹÝÀûÀÎ ½Ç¼ö"´Â OptionalÀÇ È¿°úÀûÀÎ »ç¿ë¿¡ ´ëÇÑ ÅëÂû·ÂÀ» Á¦°øÇÕ´Ï´Ù. OptionalÀ» »ç¿ëÇϱ⿡ ÀûÀýÇÑ ½Ã±â, °úµµÇÑ Áßø°ú °°Àº ÀϹÝÀûÀÎ ½Ç¼ö¸¦ ÇÇÇÏ´Â ¹æ¹ý, ¼º´É¿¡ ´ëÇÑ °í·Á »çÇ×À» ¾Ë¾Æº¾´Ï´Ù. ÀÌ Àå¿¡¼­´Â ¶ÇÇÑ OptionalÀÇ ´ë¾ÈÀ» »ìÆ캸°í Java¿¡¼­ null °¡´É¼ºÀ» ó¸®ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ Æ÷°ýÀûÀÎ °üÁ¡À» Á¦°øÇÕ´Ï´Ù.

5Àå "°í±Þ ÁÖÁ¦"¿¡¼­´Â OptionalÀÇ º¸´Ù Á¤±³ÇÑ Ãø¸éÀ» »ìÆ캾´Ï´Ù. OptionalÀÌ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓ¿¡ ¾î¶»°Ô µé¾î¸Â´ÂÁö, Java Streams¿Í ÅëÇյǴÂÁö, Á¦³×¸¯ ŸÀÔ°ú ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö »ìÆ캸°Ú½À´Ï´Ù. ¶ÇÇÑ ÀÌ Àå¿¡¼­´Â API ¼³°è¿¡¼­ OptionalÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ´Ù·ç¸ç, OptionalÀ» ¾ÖÇø®ÄÉÀ̼ǿ¡ ÅëÇÕÇϱâ À§ÇÑ °í±Þ ±â¼úÀ» Á¦°øÇÕ´Ï´Ù.

6Àå "OptionalÀÇ ½ÇÁ¦ Àû¿ë"¿¡¼­´Â »ç·Ê ¿¬±¸¿Í ½ÇÁ¦ »ç·Ê¸¦ ÅëÇØ ÀÌ·ÐÀ» ½Çõ¿¡ ¿Å±é´Ï´Ù. OptionalÀ» Àû¿ëÇÏ¿© ·¹°Å½Ã Äڵ带 º¯È¯ÇÏ°í, ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡¼­ ¸ð¹ü »ç·Ê¸¦ ±¸ÇöÇÏ°í, ½ÇÁ¦ ½Ã³ª¸®¿À¿¡¼­ ¹ß»ýÇÏ´Â ÀϹÝÀûÀÎ °úÁ¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¾´Ï´Ù. ÀÌ Àå¿¡¼­´Â ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ®¿¡¼­ OptionalÀ» È¿°úÀûÀ¸·Î È°¿ëÇϱâ À§ÇÑ ½Ç¿ëÀûÀÎ ÅëÂû·Â°ú Àü·«À» Á¦°øÇÏ´Â °ÍÀ» ¸ñÇ¥·Î ÇÕ´Ï´Ù.

ÀÌ Ã¥À» ¸¶Ä¡¸é Optional Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© ¼±ÅÃÀû °ªÀ» º¸´Ù È¿°úÀûÀ¸·Î °ü¸®ÇÏ°í, ÄÚµå °¡µ¶¼ºÀ» °³¼±ÇÏ°í, Àü¹ÝÀûÀÎ Java ÇÁ·Î±×·¡¹Ö ±â¼úÀ» Çâ»ó½ÃÅ°´Â ¹æ¹ýÀ» öÀúÈ÷ ÀÌÇØÇÏ°Ô µË´Ï´Ù. ÀÌ Ã¥Àº ½Ç¿ëÀûÀÎ Âü°í ÀÚ·áÀÌÀÚ ¸ð¹ü »ç·Ê¿¡ ´ëÇÑ °¡À̵å·Î¼­, Java °³¹ß °úÁ¤¿¡¼­ ÀÌ °­·ÂÇÑ ±â´ÉÀ» ÃÖ´ëÇÑ È°¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ Áö½ÄÀ» Á¦°øÇÕ´Ï´Ù.

¸ñÂ÷

1Àå : Java Optional ¼Ò°³
___1. OptionalÀ̶õ?
___2. ÀÚ¹Ù¿¡¼­ OptionalÀÇ ¸ñÀû
___3. OptionalÀÇ ¿ª»ç¿Í ÁøÈ­
___4. Optional »ç¿ë »ç·Ê
2Àå : Optional ÀνºÅϽº ¸¸µé±â
___1. Optional.of() »ç¿ë
___2. Optional.ofNullable() »ç¿ë
___3. Optional.empty() »ç¿ë
___4. OptionalÀÇ ÆÑÅ丮 ¸Þ¼­µå
___5. Optional ¸¸µé±âÀÇ ÀϹÝÀûÀÎ ÆÐÅÏ
3Àå : Optional ÀÛ¾÷
___1. °ª ¾×¼¼½º
___2. °ª º¯È¯
___3. °ª ºÎÀç ó¸®
___4. ¿¬»ê üÀÌ´×
4Àå : ¸ð¹ü »ç·Ê¿Í ÀϹÝÀûÀÎ ½Ç¼ö
___1. OptionalÀ» »ç¿ëÇÏ´Â °æ¿ì
___2. Optional Áßø ÇÇÇϱâ
___3. ¼º´É °í·Á »çÇ×
___4. OptionalÀÇ ´ë¾È
5Àå : °í±Þ ÁÖÁ¦
___1. ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡¼­ÀÇ Optional
___2. ÀÚ¹Ù ½ºÆ®¸²°úÀÇ ÅëÇÕ
___3. Á¦³×¸¯ ŸÀÔÀÌ ÀÖ´Â Optional
___4. API¿¡¼­ Optional »ç¿ë
6Àå : OptionalÀÇ ½ÇÁ¦ Àû¿ë »ç·Ê
___1. »ç·Ê ¿¬±¸
___2. ·¹°Å½Ã ÄÚµå º¯È¯
___3. ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ ¸ð¹ü »ç·Ê