36.5 생성자, 메서드, 소멸자 함께 사용하기
이번에는 생성자, 메서드, 소멸자를 모두 사용하는 예제를 만들어 보겠습니다. 소멸자 내용을 보려면 닷넷 프레임워크 기반으로 콘솔 앱을 만드세요. 다음 내용을 입력한 후 실행해 보세요.
생성자, 메서드, 소멸자를 함께 사용: ConstructorMethodDestructor.cs
using System;
namespace ConstructorMethodDestructor
{
public class Car
{
private string color; //① 필드
public Car() //②-1 생성자: 기본 생성자
{
color = "검은";
Console.WriteLine("{0}색 자동차를 조립합니다.", color);
}
public Car(string color) //②-2 생성자: 매개변수가 있는 생성자
{
this.color = color;
Console.WriteLine("{0}색 자동차를 조립합니다.", color);
}
//③ 메서드
public void Go() => Console.WriteLine("{0}색 자동차가 달립니다.", color);
//④ 소멸자
~Car() => Console.WriteLine("{0}색 자동차를 폐차합니다.", this.color);
}
class ConstructorMethodDestructor
{
static void Main()
{
//Car 클래스의 인스턴스 생성
Car car = new Car(); //생성
car.Go(); //호출
//폐차: 시점을 알 수 없고 GC 엔진이 알아서 실행
//매개변수가 있는 생성자를 호출
Car whiteCar = new Car("하얀");
whiteCar.Go();
Car blueCar = new Car("파란");
blueCar.Go();
}
}
}