de·struc·tor
C1technical소멸자; 특히 프로그래밍에서 객체가 없어질 때 실행되는 특수 함수
noun명사
- 1
소멸자 — 객체가 소멸될 때 자동으로 호출되어 메모리나 파일 같은 자원을 정리하는 특수 함수 또는 메서드C1〔computing〕
a special function or method that is called when an object is destroyed, typically to release resources such as memory, files, or locks
The destructor closes the file when the object is deleted.
그 소멸자는 객체가 삭제될 때 파일을 닫는다.
In C++, a destructor often frees memory or releases a lock.
C++에서 소멸자는 흔히 메모리를 해제하거나 잠금을 푼다.
- 2
- 3
소각로 — 쓰레기나 폐기물을 태워 없애는 소각로C2〔waste management〕
an incinerator used for burning refuse or waste
The town built a destructor to burn household waste.
그 마을은 생활 쓰레기를 태우기 위해 소각로를 지었다.
Old reports mention a refuse destructor near the railway.
옛 보고서에는 철도 근처의 쓰레기 소각로가 언급된다.
유의어incinerator
뉘앙스 · 쓰임
일상적인 ‘파괴자’에는 destroyer가 훨씬 자연스럽습니다. destructor는 일반 명사로 쓰면 문어적이거나 드물게 들리고, 프로그래밍에서는 constructor(생성자)의 반대 개념인 ‘소멸자’라는 전문 용어입니다.
프로그래밍 문맥에서는 한국어로 보통 ‘소멸자’라고 번역합니다. 일반적인 사람이나 사물을 말할 때 ‘파괴자’라는 뜻으로 destructor를 쓰면 매우 딱딱하거나 부자연스럽게 들릴 수 있으므로 보통 destroyer를 씁니다.
유의어 뉘앙스 비교
- finalizer
- 일부 언어나 환경에서 쓰이며, destructor와 동작 시점이나 보장 방식이 다를 수 있습니다.
- cleanup method
- 더 일반적인 표현으로, 반드시 객체 소멸 시 자동 호출되는 함수라는 뜻은 아닙니다.
- destroyer
- 일상적이고 훨씬 더 자연스러운 표현입니다.
- ruiner
- 완전히 망치거나 파멸시키는 사람·것을 더 구어적으로 나타냅니다.
- incinerator
- 현대 영어에서 가장 일반적인 표현입니다.
반의어
- constructor
- 객체를 만들거나 초기화할 때 호출되는 함수입니다.
- creator
- 무언가를 만들어 내는 사람이나 존재를 뜻합니다.
- preserver
- 무언가를 보호하고 보존하는 사람이나 것을 뜻합니다.
자주 쓰는 표현 · Collocations
verb+noun
- call a destructor소멸자를 호출하다
- define a destructor소멸자를 정의하다
adj+noun
- virtual destructor가상 소멸자
- default destructor기본 소멸자
noun+noun
- class destructor클래스 소멸자
- refuse destructor쓰레기 소각로
어원 · 암기 팁
[Latin]destroy의 어원과 관련된 destruct-에 행위자나 도구를 나타내는 접미사 -or가 붙은 형태입니다. destruct-는 라틴어 destruere ‘무너뜨리다, 파괴하다’와 관련됩니다.
destruct- ‘파괴하다’ + -or ‘~하는 사람·것’
💡 constructor가 객체를 ‘생성’한다면 destructor는 객체가 사라질 때 정리하는 ‘소멸자’라고 기억하면 됩니다.