작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
261
0
안녕하세요, 클래스 소멸자에 관한 더 깊은 내용이 궁금해서 구글링을 해 봤는데요
다음과 같은 코드에서 의문점이 몇 가지 생겼습니다.
우선 위의 코드를 그대로 실행하면
Calling Create_obj() function...
Making Object...
Employee created
function end...
Program End...
Destructor called
순으로 결과가 출력됩니다.
여기서 제가 궁금한 첫번째는 위의 코드에서
return obj
이 부분은 어떤 의미를 가지고 있는가 입니다.
obj라는 인스턴스를 생성한 후, return 한 것으로 보이는데, 정확히 어떤 기능을 하는 코드인지가 궁금합니다.
그리고, 위의 return obj
부분을 지운 후 코드를 실행하면
즉,
다음의 코드를 실행하면 출력 결과가
Calling Create_obj() function...
Making Object...
Employee created
function end...
Destructor called
Program End...
이렇게 나오며 소멸자의 호출 순서가 달라지는 것을 확인할 수 있었습니다. 왜 소멸자의 호출 순서가 달라지는 것인지 그 이유가 궁금합니다.
답변 1
0
해당 클래스 자기자신을 반환합니다.
세부적으로 설명하기 위해서는 아래 내용을 검색하셔서 클래스 생성 과정을
읽어보시기를 추천드려요.
파이썬 디스크립터, Type 함수를 사용한 클래스 생성 원리 등을
검색해 보시면 됩니다.