Destructor

์†Œ๋ฉธ์ž๋Š” ํŠน๋ณ„ํ•œ ๋ฉค๋ฒ„ํ•จ์ˆ˜์ด๋‹ค. ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ์†Œ๋ฉธ๋  ๋•Œ ํ˜ธ์ถœ๋œ๋‹ค.

์†Œ๋ฉธ์ž์˜ ๋ชฉ์ ์€, ์ปดํ“จํŒ… ์ž์›์˜ ์ ˆ์•ฝ์— ์žˆ๋‹ค. ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๊ณ„์† ๋‚จ์•„์žˆ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ๋งŽ์ด ์†Œ๋ชจํ•˜๊ฒŒ ๋œ๋‹ค.

์ƒ์„ฑ์ž์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๊ตณ์ด ์ ์–ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๊ธฐ๋ณธ์ ์œผ๋กœ ์†Œ๋ฉธ์ž๋Š” ํ˜ธ์ถœ๋˜๋ฉฐ, ๋งŒ์•ฝ ๋‚ด๊ฐ€ ์ ์–ด์ค€๋‹ค๋ฉด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์†Œ๋ฉธํ•  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋˜์–ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋‚ด๊ฐ€ ์†Œ๋ฉธ์ž๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ ์–ด์ค€๋‹ค๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜ธ์ถœ๋œ ์†Œ๋ฉธ์ž๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ , ๋‚ด๊ฐ€ ์ ์–ด์ค€ ๋…€์„๋งŒ ์ž‘๋™ํ•œ๋‹ค.

Example

์ƒ์„ฑ์žย : new, file open ์†Œ๋ฉธ์žย : delete, file close

class Point{
private:
    int x;
    int y;
    
    
    
public:
    Point(): x(0), y(0){}
    Point(int _x, int _y): x(_x), y(_y) {}
    
    ~Point(){
        cout << "์†Œ๋ฉธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค." << endl;
    }
};
 
int main(){
    Point pt1(1,2);
    
    return 0;
}
 
Output
์†Œ๋ฉธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.