본문 바로가기

유니티 프로그래밍/C# 프로그래밍

C# 생성자와 종료자

생성자 함수는 주로 초기화 하거나, 정의할 때 많이 사용된다.

 

반대로 종료자는 종료를 시켜주는 역할을 하는데, 아쉽게도 C++ 처럼 강력한 기능이 아니며, 가비지컬렉터에 의해서

동작하는 알고리즘이 있어서, 내가 원하는 타이밍에 호출이 되지 않을때도 있어서 그렇게 많이 실무에 적용되진 않는다고 한다.

 

 

생성자 함수와 종료자 함수는 아래의 예제를 보면서 하면 쉽다.

class Cat
{
    public string Name;
    public string Color;

    public Cat() // 기본 생성자. 만약 이 생성자가 없다면, 기본값으로 자동으로 생성자가 숨어있다고 생각하면 이해하기 쉽다.
    {
        Name = "";
        Color = "";
    }
    public Cat(string _Name, string _Color)
    {
        Name = _Name;
        Color = _Color;
    }
    ~Cat()
    {
        Console.WriteLine($"{Name} : 잘가");
    }
    public void Meow()
    {
        Console.WriteLine($"{Name} : 야옹");
    }
}
class Constructor
{
    static void Main(string[] args)
    {
        Cat cat = new Cat();
        cat.Meow();
        Console.WriteLine($"{cat.Name} : {cat.Color}");

        Cat kitty = new Cat("키티", "하얀색");
        kitty.Meow();
        Console.WriteLine($"{kitty.Name} : {kitty.Color}");

        Cat nero = new Cat("네로", "검정색");
        nero.Meow();
        Console.WriteLine($"{nero.Name} : {nero.Color}");
    }

    static void Test()
    {
        Cat c = new Cat();
        c.Meow();
    }
}