공부,일/C#

210524

fromnothing1 2021. 5. 24. 14:58

210521 복습 

 

생성자 소멸자 순서

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _210524_001
{
    class Program
    {
        static void Main(string[] args)
        {
            Cat aCat = new Cat("1");
            Cat bCat = new Cat("2");
            Cat cat = new Cat("3");

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


class Cat
{
    string Name;

    public Cat()
    {
        Console.WriteLine($"{Name}생성");
    }
        public Cat(string Name)
    {
        this.Name = Name;
        Console.WriteLine($"{Name}생성");
 
    }

    ~Cat()//소멸자
    {
        Console.WriteLine($"{Name}소멸");
    }

}

스택 구조로 생성하고 소멸된다.

 

static 메소드 변수

class Global 
    {
        public static int Count = 0; // static 변수  클래스에 종속된 변수
    }

    class A
    {
        public A()
        {
            Global.Count++;
        }
    }

    class B
    {
        public B()
        {
            Global.Count++;
        }
    }

    class Program
    {
        //정적 메소드는 정적 필드 혹은 정적 메소드에만 접근 가능 


        static int iNum;
        int TestNum;
        void DynabicMethod()
        {

        }

        static void StaticMethod()
        {

        }

        static void Main(string[] args)
        {
            
            iNum = 100;
            //TestNum = 200; 
            StaticMethod();
            //DynabicMethod();

            Console.WriteLine($"Count : {Global.Count}");

            A tseta = new A();
            B tsetb = new B();


            Console.WriteLine($"Count : {Global.Count}");


        }
    }