ÀÏ¹Ý Çʵå´Â º¯¼ö¿©¼ ½ÇÇàÁß¿¡ ¾ðÁ¦µçÁö °ªÀ» ¹Ù²Ü ¼ö ÀÖ´Ù. ÀÌ¿¡
ºñÇØ final ÁöÁ¤ÀÚ¸¦ ºÙÀÎ »ó¼ö Çʵå´Â ÇÑ ¹ø °ªÀÌ Á¤ÇØÁö¸é º¯°æÇÒ ¼ö ¾ø´Ù. ½ÇÇàÁß¿¡´Â °ªÀ» º¯°æÇÒ ¼ö ¾ø¾î »ý¼ºÀÚ¿¡¼ ¹Ýµå½Ã ÃʱâÈÇØ¾ß ÇÑ´Ù. ´ÙÀ½
¿¹Á¦¸¦ º¸ÀÚ.
final |
|
class Notebook { final
String CPU; int
memory; int
storage; Notebook(String
CPU, int memory, int storage) { this.CPU
= CPU; this.memory
= memory; this.storage
= storage; } void
upgrade(int memory, int storage) { this.memory
= memory; this.storage
= storage; //
this.CPU = "Super Strong 16 Core 8.5GHz"; } void
printSpec() { System.out.print("CPU
= " + CPU); System.out.print("
,Memory = " + memory); System.out.println("
,Storage = " + storage); } } class JavaTest { public
static void main(String[] args) { Notebook
Sens = new Notebook("Intel Core i7", 4, 500); Notebook
XNote = new Notebook("AMD ¶óÀÌÁ¨", 2, 320); Sens.printSpec(); XNote.printSpec(); Sens.upgrade(8,750); Sens.printSpec(); } } |
|
½ÇÇà°á°ú |
CPU = Intel Core i7 ,Memory = 4 ,Storage = 500 CPU = AMD ¶óÀÌÁ¨ ,Memory =
2 ,Storage = 320 CPU = Intel Core i7 ,Memory = 8 ,Storage = 750 |
Notebook Ŭ·¡½º´Â ³ëÆ®ºÏÀ» Ç¥ÇöÇϸç CPU¿Í ¸Þ¸ð¸®, ÀúÀå ÀåÄ¡·Î ±¸¼ºµÈ´Ù. ³ëÆ®ºÏÀº óÀ½ ¸¸µé ¶§ ÁÖ¿ä »ç¾çÀÌ °áÁ¤µÈ´Ù. ¸Þ¸ð¸®¿Í ÀúÀå ÀåÄ¡´Â
Ãâ°í ÈÄ¿¡µµ ¾÷±×·¹À̵åÇÒ ¼ö ÀÖÁö¸¸ CPU´Â ±³Ã¼ ºÒ°¡´ÉÇÑ ºÎÇ°ÀÌ´Ù.
±×·¡¼ CPU Çʵ忡 final ÁöÁ¤ÀÚ¸¦ ºÙ¿©
»ó¼öÀÓÀ» ¸í½ÃÇßÀ¸¸ç »ó¼ö Çʵå´Â °ü½ÀÀûÀ¸·Î ÀüºÎ ´ë¹®ÀÚ·Î ÀÛ¼ºÇÑ´Ù.
»ó¼ö Çʵå¶ó°í Çؼ ¸ðµç °´Ã¼°¡ ´Ù °°Àº °ªÀ» °¡Áö´Â °ÍÀº ¾Æ´Ï´Ù. ±×·¡¼
Ŭ·¡½º ¼±¾ð¹®¿¡ ¸í½ÃÀûÀ¸·Î ÃʱâÈÇÏÁö ¾Ê¾ÒÀ¸¸ç »ý¼ºÀÚ¿¡¼ °³º° °´Ã¼¸¶´Ù ÃʱâÈÇÑ´Ù. Áï, CPU Çʵå´Â ÇÑ ¹ø Á¤ÇØÁö¸é ¹Ù²Ü ¼ö ¾øÁö¸¸ ÀνºÅϽºº°·Î ´Ù¸¥ °ªÀ» °¡Áú ¼ö´Â ÀÖ´Ù. main¿¡¼ µÎ ´ëÀÇ ³ëÆ®ºÏ °´Ã¼¸¦ »ý¼ºÇÏ°í ¾÷±×·¹À̵嵵 ÇØ º¸¾Ò´Ù.
Sens ³ëÆ®ºÏÀº »ý¼º ÈÄ¿¡
upgrade ¸Þ¼µå·Î ¸Þ¸ð¸®¿Í ÀúÀå ÀåÄ¡¸¦ ¹Ù²Ù¾ú´Ù. ±×·¯³ª »ó¼ö·Î ¼±¾ðµÈ CPU´Â ÀÏ´Ü Ãâ°íµÇ¸é º¯°æÇÒ ¼ö ¾ø´Ù. upgradeÀÇ ¸¶Áö¸· ÁÙ¿¡
ÀÛ¼ºµÈ ÄÚµåÀÇ ÁÖ¼®À» Ç®¸é ¿¡·¯·Î 󸮵ȴÙ. ¾Æ¹«¸® µ·ÀÌ ¸¹¾Æµµ ÃÖ½Å
CPU·Î ±³Ã¼ÇÒ ¼ö ¾øÀ¸¸ç Á¤ ¹Ù²Ù°í ½ÍÀ¸¸é ³ëÆ®ºÏÀ» »õ·Î »ç´Â ¼ö¹Û¿¡ ¾ø´Ù. Áï, °´Ã¼¸¦ »õ·Î ¸¸µé¾î¾ß ÇÑ´Ù.
CPU Çʵå´Â ºñ·Ï »ó¼öÁö¸¸ ÀνºÅϽºº°·Î ´Ù¸¥ °ªÀ» °¡Áú ¼ö ÀÖÀ¸¸ç
±×·¡¼ °´Ã¼¿¡ ¼Ò¼ÓµÈ´Ù. ÀÌ¿¡ ºñÇØ ¸ðµç °´Ã¼°¡ °°Àº °ªÀ» °¡Áö´Â Çʵå´Â Ŭ·¡½º¿¡ ¼Ò¼ÓµÇ´Â °ÍÀÌ ÁÁÀ¸¸ç
ÀÌ·² ¶§ static ÁöÁ¤ÀÚ¸¦ ºÙÀδÙ. Á¤Àû »ó¼ö·Î ¼±¾ðÇϸé
Ŭ·¡½º¿¡ µü ÇϳªÀÇ °ª¸¸ Á¸ÀçÇÏ¸ç ¸ðµç °´Ã¼°¡ ÀÌ °ªÀ» °øÀ¯ÇÑ´Ù. ¼±¾ðÇÒ ¶§ ¸í½ÃÀûÀ¸·Î ÃʱâÈÇÏ¿© »ý¼º
ÀÌÀü¿¡ ÃʱâÈÇÑ´Ù.
staticfinal |
|
class Notebook { final
String CPU; int
memory; int
storage; static
final long GIGA = 1073741824L; Notebook(String
CPU, int memory, int storage) { this.CPU
= CPU; this.memory
= memory; this.storage
= storage; } void
upgrade(int memory, int storage) { this.memory
= memory; this.storage
= storage; //
this.CPU = "Super Strong 16 Core 8.5GHz"; } void
printSpec() { System.out.print("CPU
= " + CPU); System.out.print("
,Memory = " + memory * GIGA + "¹ÙÀÌÆ®"); System.out.println("
,Storage = " + storage * GIGA + "¹ÙÀÌÆ®"); } } class JavaTest { public
static void main(String[] args) { Notebook
Sens = new Notebook("Intel Core i7", 4, 500); Notebook
XNote = new Notebook("AMD ¶óÀÌÁ¨", 2, 320); Sens.printSpec(); XNote.printSpec(); } } |
|
½ÇÇà°á°ú |
CPU = Intel Core i7 ,Memory = 4294967296¹ÙÀÌÆ® ,Storage = 536870912000¹ÙÀÌÆ® CPU = AMD ¶óÀÌÁ¨ ,Memory =
2147483648¹ÙÀÌÆ® ,Storage = 343597383680¹ÙÀÌÆ® |
¿ë·®À» ¹ÙÀÌÆ® ´ÜÀ§·Î Ç¥½ÃÇϱâ À§ÇØ GIGA¶ó´Â »ó¼ö¸¦ ¼±¾ðÇß´Ù. ±â°¡´Â 2ÀÇ 30½ÂÀ̸ç 10¾ïÀ̶ó´Â Å« °ªÀÌ´Ù. GIGA ÀÚü´Â Á¤¼öÇüÀÇ ¹üÀ§¿¡ Æ÷ÇÔµÇÁö¸¸
´Ù¸¥ °ª°ú °öÇØÁö¸é ¹üÀ§¸¦ ³Ñ¾î ¼³ ¼ö ÀÖ¾î longÇüÀ¸·Î ¼±¾ðÇß´Ù.
printSpec¿¡¼ ¿ë·®¿¡ GIGA¸¦ °öÇØ Ãâ·ÂÇÑ´Ù. ¼ö½Ä³»¿¡¼
Á÷Á¢ 1073741824L ¸®ÅÍ·²À» »ç¿ëÇصµ »ó°ü¾øÁö¸¸ »ó¼ö¸¦ ¾²¸é Àбâ ÆíÇÏ°í ÄÚµå °ü¸®µµ ½±´Ù.
GIGA ¿ë·®Àº ³ëÆ®ºÏº°·Î ´Ù¸£Áö ¾Ê¾Æ °´Ã¼¸¶´Ù ÀÌ Çʵ带 µÑ ÇÊ¿ä°¡
¾ø´Ù. ±×·¡¼ staticÀ¸·Î ¼±¾ðÇÏ¿© Ŭ·¡½º¿¡ µÎ¾ú´Ù. °¢ °´Ã¼º°·Î µû·Î Á¸ÀçÇÏ´Â CPU Çʵå¿Í »ó¼ö¶ó´Â ¸é¿¡¼ °°Áö¸¸
Ŭ·¡½º¿¡ µü Çϳª¸¸ ÀÖ°í ¸ðµç °´Ã¼°¡ °øÀ¯ÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù.
Á¤Àû »ó¼ö´Â °´Ã¼¿Í ¹«°üÇϹǷΠ»ý¼ºÀÚ¿¡¼ ÃʱâÈÇÒ ¼ö ¾ø´Ù. ¹Ýµå½Ã
Ŭ·¡½º ¼±¾ð¹®¿¡ ¸í½ÃÀûÀ¸·Î ÃʱâÈÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀǹÌÀÖ´Â °ªÀ¸·Î ÃʱâÈÇÒ ±âȸ°¡ ¾ø´Ù. ¶Ç´Â Á¤Àû ÃʱâÈ ºí·ÏÀ» »ç¿ëÇϴµ¥ ÀÌ °æ¿ì ´õ º¹ÀâÇÑ Ãʱâȵµ °¡´ÉÇÏ´Ù.
static final long GIGA;
static {
GIGA
= 1073741824L;
}
µÎ Á¾·ùÀÇ »ó¼ö´Â ½ÇÇàÁß¿¡ °ªÀ» º¯°æÇÒ ¼ö ¾ø´Ù´Â Á¡¸¸ °°°í ³ª¸ÓÁö Ư¼ºÀº ´Þ¶ó ¿ëµµ¿¡ ¸Â°Ô »ç¿ëÇØ¾ß ÇÑ´Ù.
ÁöÁ¤ÀÚ |
¼Ò¼Ó |
ÃʱâÈ |
Ư¡ |
final |
°´Ã¼ |
»ý¼ºÀÚ |
°´Ã¼¸¶´Ù ´Ù¸¥ °ªÀ» °¡Áø´Ù. |
static final |
Ŭ·¡½º |
¸í½ÃÀû ÃʱâÈ |
¸ðµç °´Ã¼°¡ °øÀ¯ÇÑ´Ù. |
¸¸¾à ´Ù¸¥ Ŭ·¡½º¿¡¼ GIGA »ó¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¿ÜºÎ·Î °ø°³ÇÏ°í
½Í´Ù¸é public ÁöÁ¤ÀÚµµ ºÙÀδÙ.
public static final long GIGA = 1073741824L;
ÀÚ¹Ù ¶óÀ̺귯¸®¿¡ ÀÌ·± ½ÄÀ¸·Î ¼±¾ðµÈ »ó¼ö°¡ ¸¹´Ù. ¿øÁÖÀ²°ªÀÎ Math.PIµµ °°Àº Çü½ÄÀ¸·Î 3.141592653589793À¸·Î
Á¤ÀǵǾî ÀÖ¾î ¿øÁÖÀ²ÀÌ ÇÊ¿äÇÒ ¶§ ´©±¸³ª ¾ðÁ¦µç »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¾Õ Àý¿¡¼ Bus Ŭ·¡½º¸¦ ¸¸µé¸é¼ ±âº» ¿ä±Ý 500¿øÀ» ¸®ÅÍ·²·Î ¹Ù·Î »ç¿ëÇߴµ¥ ÀÌ´Â ¹Ù¶÷Á÷ÇÏÁö ¸øÇÑ ¹æ¹ýÀÌ´Ù. ±âº»
¿ä±ÝÀº ¿©·¯ ¹ø »ç¿ëµÇ´Ï »ó¼ö·Î Á¤ÀÇÇÏ¿© °¡µ¶¼ºÀ» ³ôÀÌ´Â °ÍÀÌ ÁÁ´Ù. ¸ðµç ¹ö½º¿¡¼ ±âº» ¿ä±ÝÀº °°À¸¹Ç·Î
Á¤Àû »ó¼ö Çʵå·Î ¼±¾ðÇÏ´Â °ÍÀÌ °¡Àå ÀÌ»óÀûÀÌ´Ù.
class Bus {
static
Station[] arInfo;
final
static int BASIC_FARE = 500;
....
void
printFare(int from, int to) {
int
fare = BASIC_FARE;
....
final Å°¿öµå´Â ÇÊµå »Ó¸¸ ¾Æ´Ï¶ó ¸Þ¼µå³ª Ŭ·¡½º¿¡µµ Àû¿ëÇÒ ¼ö
ÀÖ´Ù. ´ÙÀ½ Àå¿¡¼ »ó¼Ó±îÁö ¾Ë¾Æº» ÈÄ ´Ù½Ã ¿¬±¸ÇØ º¸ÀÚ.
¿¬½À ¹®Á¦
1. ¾×¼¼½º ÁöÁ¤ÀÚ°¡
¾Æ´Ñ °ÍÀº?
¨ç private ¨è final ¨é public ¨ê protected
2. ¸â¹ö°ªÀ» º¯°æÇÏ´Â
¼¼ÅÍ(Setter)ÀÇ ¿ªÇÒÀÌ
¾Æ´Ñ °ÍÀº?
¨ç ¼û°ÜÁø ÇʵåÀÇ
°ªÀ» ´ë½Å º¯°æÇÑ´Ù.
¨è Á¶°Ç¿¡ ¸ÂÁö
¾Ê´Â °ªÀº °ÅºÎÇÑ´Ù.
¨é ¸â¹ö°ª º¯°æ¿¡
µû¸¥ ºÎÈ¿°ú¸¦ ó¸®ÇÑ´Ù.
¨ê ¿©·¯ °¡Áö
¸â¹öÀÇ °ªÀ» Á¶ÇÕÇÏ¿© ¸®ÅÏÇÑ´Ù.
3. ĸ½¶ÈÀÇ ¸ñÀûÀÌ
¾Æ´Ñ °ÍÀº?
¨ç »ç¿ë ÆíÀǼº
Çâ»ó
¨è ¾ÈÁ¤¼º Çâ»ó
¨é ¼º´É Çâ»ó
¨ê °³¼± ¿ëÀ̼º
Çâ»ó
4. ÀνºÅϽº ¸â¹ö¿¡
´ëÇÑ ¼³¸íÀ» ¿ÇÀº °ÍÀº?
¨ç Çʵå´Â ¸ðµç
°´Ã¼°¡ °øÀ¯ÇÑ´Ù.
¨è ¸Þ¼µå´Â °¢
°´Ã¼º°·Î µû·Î °¡Áø´Ù.
¨é Çʵå´Â °´Ã¼°¡
»ý¼ºµÉ ¶§¸¶´Ù º°µµÀÇ ¸Þ¸ð¸®¸¦
ÇÒ´ç¹Þ´Â´Ù.
¨ê ÇÑÂÊ °´Ã¼ÀÇ
Çʵ带 º¯°æÇÏ¸é ´Ù¸¥ °´Ã¼µµ
¿µÇâÀ» ¹Þ´Â´Ù.
5 ¸Þ¼µå³»¿¡¼ °´Ã¼
ÀÚ½ÅÀ» ĪÇÏ´Â Å°¿öµå´Â ( )À̸ç
ÀÌ Å°¿öµå·Î ÀÚ½ÅÀÇ ¸â¹ö¸¦
ÂüÁ¶ÇÑ´Ù.
6. Á¤Àû ÇʵåÀÇ
Ư¼ºÀÌ ¾Æ´Ñ °ÍÀº?
¨ç °´Ã¼¸¦ Çϳª
ÀÌ»ó »ý¼ºÇØ¾ß ÂüÁ¶ÇÒ ¼ö
ÀÖ´Ù.
¨è Ŭ·¡½º¿¡ ¼Ò¼ÓµÇ¸ç
¸ðµç °´Ã¼°¡ °øÀ¯ÇÑ´Ù.
¨é Ŭ·¡½º¸í.ÇʵåÀÇ ¹æ½ÄÀ¸·Î ÂüÁ¶ÇÑ´Ù.
¨ê »ý¼ºÀÚ È£Ãâ
ÀÌÀü¿¡µµ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.
7. Á¤Àû ¸Þ¼µå¿¡¼
ÂüÁ¶ ¶Ç´Â È£Ãâ °¡´ÉÇÑ
°ÍÀº?
¨ç ÀνºÅϽº Çʵå
¨è Á¤Àû ÇÊµå ¨é
»ý¼ºÀÚ ¨ê Á¤Àû ÃʱâÈ
ºí·Ï
8. main ¸Þ¼µåÀÇ ¿ÏÀüÇÑ
¿øÇüÀ» ½á¶ó
9. ¸ðµç °´Ã¼°¡
°øÀ¯ÇÏ¸ç ´õ ÀÌ»ó º¯°æÇÒ
¼ö ¾ø´Â ÇʵåÀÇ ¼Ó¼ºÀ¸·Î
Àû´çÇÑ °ÍÀº?
¨ç static
¨è final
¨é private final
¨ê static final