ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. static
static Ű¿öµå´Â Á¤Àû º¯¼ö (static variable)¸¦ ¼±¾ðÇϱâ À§Çؼ »ç¿ëÇϴ Ű¿öµå´Ù. Á¤Àûº¯¼ö´Â Á¤ÀûÀ¸·Î ÇÒ´çµÇ´Â º¯¼ö¶ó°í º¸Åë ¼³¸íÇϴµ¥, À̰е¿¾î¹Ýº¹ °°´Ù. ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ¶§ ¸¸µé¾îÁö´Â º¯¼ö Áï ÇÁ·Î±×·¥ Àüü¿¡ °íÁ¤µÇ¾î ÀÖ´Â º¯¼ö¶ó°í ¼³¸íÇÏ´Â°Ô ³ªÀ» °Í °°´Ù. ÇÁ·Î±×·¥ Àüü¿¡ °íÁ¤µÇ¾î Àֱ⠶§¹®¿¡ Á¤Àû º¯¼ö´Â ÇÁ·Î±×·¥ÀÇ »ý¼º°ú ÇÔ²² ÇÒ´çµÇ°í ÇÁ·Î±×·¥ÀÇ Á¾·á½Ã¿¡ ÇØÁ¦ µÈ´Ù. Java
Java´Â °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ¸ðµç °ÍÀ» °´Ã¼·Î º»´Ù. ¸¸¾à ¾î¶² °´Ã¼¸¦ »ç¿ëÇÏ°í ½Í´Ù¸é °´Ã¼ÀÇ ÀνºÅϽº¸¦ ¸¸µé¾î¼ »ç¿ëÇØ¾ß ÇÑ´Ù. À̶§ ÀνºÅϽº´Â ´Ù¸¥ ÀνºÅϽº¿Í ¿ÏÀüÈ÷ µ¶¸³ÀûÀ̹ǷΠ´Ù¸¥ ÀνºÅϽº¿Í µ¥ÀÌÅ͸¦ °øÀ¯ÇÒ ¼ö ¾ø´Ù.
±×·¯³ª ¶§¶§·Î °´Ã¼ÀÇ ¸â¹öº¯¼ö¸¦ ¸ðµç ÀνºÅϽº¿¡¼ °øÀ¯Çؼ »ç¿ëÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. À̶§ staticŰ¿öµå¸¦ ºÙ¿©ÁØ´Ù. staticÀÌ ºÙÀº ¸â¹ö º¯¼ö´Â ÀνºÅϽº¸¦ »ý¼ºÇÏÁö ¾Ê¾Æµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ŭ·¡½º ÀνºÅϽº°¡ ¸¸µé¾îÁö±â Àü¿¡ ÀÚµ¿ÀûÀ¸·Î ¸¸µé¾îÁö±â ¶§¹®ÀÌ´Ù. ÀÌ¹Ì ¸Þ¸ð¸®¿¡ ¿Ã¶ó°£ µ¥ÀÌÅÍÀ̱⠶§¹®¿¡ ÀνºÅϽº¿¡ »ó°ü¾øÀÌ °ø¿ëÀ¸·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
¾Æ·¡ÀÇ ¿¹¸¦ º¸ÀÚ import java.util.*;
class foo
{
static int i;
void increment()
{
i++;
}
void Print()
{
System.out.println(i);
}
}
public class myStatic
{
public static void main(String[] args)
{
foo a = new foo();
foo b = new foo();
a.Print();
b.Print();
a.increment();
a.increment();
a.Print();
b.Print();
}
}
°á°ú¸¦ º¸¸é static ¸â¹öÀÎ i¸¦ ÀνºÅϽº¿¡ °ü°è¾øÀÌ ÇÔ²² »ç¿ëÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. # java myStatic 0 0 2 2
static¸¦ ½á¼ ¾òÀ» ¼ö ÀÖ´Â ÀÌÁ¡Àº ´ÙÀ½°ú °°´Ù.
C/C++
C ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â static, auto, register, extern 4°³ÀÇ storage class - ¿©±â¿¡¼ °´Ã¼ÀÇ Å¬·¡½º°¡ ¾Æ´Ñ ÁýÇÕÀÇ Àǹ̸¦ °¡Áø´Ù - ¸¦ °¡Áø´Ù.
#include <stdio.h> #include <stdbool.h> void showstat(int i) { static int nStatic; nStatic += i; printf("nStatic is %d\n", nStatic); } int main() { for(int i = 0; i < 10; i++) { showstat(i); } }
C++¿¡¼ static ¸â¹öÀÇ »ç¿ë ¿¹ #include <iostream>
using namespace std;
class myCount
{
public:
static int count;
void increment()
{
count++;
}
static void print()
{
cout << count << endl;
}
};
int myCount::count = 0;
int main()
{
myCount a, b;
a.increment();
b.increment();
a.print();
b.print();
myCount.print(); // ÀνºÅϽº ¾øÀÌ È£Ãâ
}
c++¿¡¼ static ¸Þ¼µå¸¦ »ç¿ëÇÒ ¶§´Â ´ÙÀ½ÀÇ »çÇ×À» ÁÖÀÇÇØ¾ß ÇÑ´Ù. Java¿Í ºñ½ÁÇÏ´Ù
c ¿¡¼ static ÇÔ¼ö
C¿¡¼ ÇÔ¼ö°¡ static·Î ¼±¾ðµÇ¸é, ÇØ´ç ÆÄÀÏÀÇ ³»ºÎ¿¡¼¸¸ È£ÃâÀÌ °¡´ÉÇÏ°í ´Ù¸¥ ÆÄÀÏ¿¡¼´Â È£ÃâÇÒ ¼ö°¡ ¾ø´Ù. ¿¹ÄÁµ¥, private ó·³ ÀÛµ¿ÇÑ´Ù.
ÀÌ·± staticÀÇ Æ¯Â¡Àº ¿©·¯ ¸íÀÌ Çù¾÷ÇÏ´Â Å« ±Ô¸ðÀÇ ÇÁ·ÎÁ§Æ®¿¡¼ ¿øÇÒÇÑ Çù¾÷ÀÌ °¡´ÉÇϵµ·Ï ÇØÁØ´Ù. ¸¸¾à ¾î¶² ÇÔ¼ö¸¦ staticÀ¸·Î ¼±¾ðÇÏÁö ¾Ê¾Ò´Ù¸é ÀÌ ÇÔ¼ö°¡ º¯°æµÆÀ» ¶§, ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¸ðµç ÆÄÀÏÀ» ÃßÀûÇØ¼ º¯°æÇØ¾ß ÇÑ´Ù.
|
|
|||||||||||||||||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|