C#에서 메소드 선언 앞에 나오는 ~(물결 문자, 틸드)는 소멸자다.
- 소멸자는 자동으로 동작하며 명시적으로 실행할 수 없다.
- 소멸자는 오버로드가 불가능하다. 그러므로 클래스는 최대 하나의 소멸자를 가질 수 있다.
- 소멸자는 상속되지 않는다. 그러므로 클래스는 하나 이외의 소멸자를 가지지 않게 되고 그 소멸자는 해당 클래스에서 선언이 되어야만 한다.
- 소멸자는 구조체에서는 사용할 수 없다. 클래스에서만 사용 가능하며 어떤 코드에서도 더 이상 인스턴스를 사용하지 못하게 될 때 소멸될 자격이 주어진다.
- 인스턴스의 소멸자는 인스턴스가 소멸될 자격만 된다면 언제든 실행이 된다.
- 인스턴스가 소멸될 때 소멸자는 상속 체인을 따라 자식-부모 순으로 순차적으로 호출된다.
구글링해보니 명시적으로 실행할수 없다고 돼있는데
간단한 프로젝트 만들어서 메인함수에서 z.~Test(); 해보니까 호출 잘 되는데 뭐가 맞는건가요?
c++ 이냐 c#이냐
C++염...