c# ☃️
[C#] 클래스 - 소멸자 (destructor)
소로리 산적
2024. 5. 13. 12:56
구성

Members.cs
using System;
using System.Diagnostics; // Debug 클래스 사용하기 위해
namespace MembersC
{
public class Members
{
// member - private field
private string memberName;
private string jobTitle;
private int salary = 1000;
// member - public field
public int age;
public string JobTitle
{
get
{
return jobTitle;
}
set
{
jobTitle = value;
}
}
// public memeber method - 친구일때만 불러오기
public void Introducing(bool isFriend)
{
if (isFriend)
{
SharingPrivateInfo();
}
else
{
Console.WriteLine("안냐세요, 저는 {0}쨜 {1} 임다 ", age, memberName);
Console.WriteLine("제 직업은 {0} 임다.", jobTitle);
}
}
private void SharingPrivateInfo()
{
Console.WriteLine("연봉공개 : " + salary);
}
// member constructor
public Members()
{
age = 30;
memberName = "홍길동";
salary = 10000;
jobTitle = "해적";
Console.WriteLine("객체 생성 ");
}
// member - finalizer - destructor
~Members()
{
// 비운다
Console.WriteLine("해체 !");
Debug.Write("해체됨 ! ");
}
}
}
Programs.cs
namespace MembersC;
class Program
{
static void Main(string[] args)
{
Members memb1 = new Members();
memb1.Introducing(true);
// private 해 엑세스 불가
// memb1.SharingPrivateInfo();
}
// static void 가 끝나면 최종 사용자 호출해 memb1 해체됨
}
실행결과

소멸자가 실행된 흔적
