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();
            }
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.