C++ Notice
  - malloc 과 new의 차이
    
      - malloc : 메모리 동적 할당
 
      - new : 메모리 동적할당 + 생성자 호출
 
    
   
  - 구조체와 클래스 차이
    
      - structure : 접근지정자가 default로 public
 
      - class : 접근지정자가 default로 private
 
    
   
  - C++ conctructor 호출
    
      - stack에 객체선언후 생성자 호출
        
class Animal
{
  ...
};
int main()
{
  Animal a;
}
          
       
      - heap에 객체선언후 생성자 호출
        
class Animal
{
  ...
};
int main()
{
  Animal a = new Animal;
}
          
       
    
   
  - static
    
      static 함수 개념
    
    
      - static 변수 (정적 멤버 변수)
        
          - 클래스에 선언되어있지만 객체별로 할당되지 않고 모든 객체가 공유
 
          - 클래스 외부에서 별도로 선언 및 초기화해야함
 
          - :: 연산자 와 함께 사용하여 클래스 소속을 밝혀야함
 
        
       
      - static 멤버 함수 (정적 멤버 함수)
        
          - 생성된 객체가 하나도 없더라도 클래스의 이름만으로 호출 가능
 
          - 주로 정적 멤버 변수를 제어하거나 모든 객체를 위한 처리를 한다
            
 class Count
 {
 private:
  int Value;
  static int Num;
 public:
  Count() { Num++; }
  ~Count() { Num--; }
  static void OutNum() 
  {
    printf("현재 객체 개수 = %d\n",Num);
  } 
 };
 int main()
 {
  int Count::Num=0;
  Count::OutNum();
 }