실행 결과
검은색 자동차를 조립합니다. 검은색 자동차가 달립니다. 하얀색 자동차를 조립합니다. 하얀색 자동차가 달립니다. 파란색 자동차를 조립합니다. 파란색 자동차가 달립니다. 파란색 자동차를 폐차합니다. 검은색 자동차를 폐차합니다. 하얀색 자동차를 폐차합니다.
실행 결과는 다를 수 있습니다. 필드는 클래스의 부품 역할을 하며, 생성자는 기본 생성자와 매개변수가 있는 생성자를 만들 수 있는 것처럼 생성자 오버로드도 가능합니다. 개체는 생성자로 생성되고, 메서드 등이 호출되는 형태로 사용한 후 최종적으로 소멸자가 호출되고 메모리에서 사라지는 형태의 라이프 사이클입니다.
결론적으로 말해서 소멸자(종료자)는 우리가 직접 사용할 일은 없습니다. 이 강의에서는 소멸자의 실행 시점을 살펴보는 데 약간의 시간을 투자했고, 가비지 수집기(GC)의 역할을 들여다 보았습니다. 계속해서 클래스의 핵심 멤버인 메서드, 속성 등을 학습해 나가겠습니다.
주석
1 닷넷 프레임워크 기반으로 콘솔을 만들면 프로그램이 종료될 때 소멸자를 실행하므로 소멸자 내용이 출력되고, 닷넷 코어 기반으로 콘솔을 만들면 프로그램이 종료된 후 소멸자를 실행하기에 소멸자 내용은 출력되지 않습니다.