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(); } } }