// 1. static 멤버data의특징: 모든객체가공유. 객체가없어도메모리에있다.
// 2. static 멤버함수의특징:  객체가없어도호출가능.
// 3. static 멤버에서는static 멤버만접근가능.
class Point
{
        int x;
        static int y;
public:
        void foo()
        {
               x = 10  // 1
               y = 10; // 2
        }
        static void goo()
        {
               cout << this << endl;  // error
               foo();  // error
x = 10; // error
               y = 10; // 4
        }
};
int Point::y = 0;
void main()
{
        //클래스 내의 static 멤버 호출 시 1번으로 한다.
        Point::goo();  // 1 일반함수인지static 함수인지를알수있다.
        Point p;
        p.goo();      // 2
}