All Development

C++) 상속의 생정자와 소멸자

Todah 2024. 3. 29. 18:44
반응형

1. 상속과 관련된 생성자와 소멸자의 특징.

- 파생 클래스의 생성자는 가장 먼저 호출되지만 가장 나중에 실행된다.

- 재귀호출과 비슷하게 생성자 함수에 대한 호출 스택이 쌓여 올라가는 것이 특징이다.

- 소멸자는 파생 클래스의 것이 가장 먼저 호출 및 실행된다.

 

 

* 왜 그런지 곰곰이 이유를 생각해보니, 기본적으로 파생 클래스라는 것은 기본 클래스에서 어느정도 변형이 일어난 클래스이므로, 기본이되는 베이스 클래스를 호출해서 그 기능들을 파악한 다음에 파생 클래스를 호출해야 문제가 발생해도 빠르게 어느부분인지 파악할 수 있기때문인것 같다.

 소멸자도 마찬가지로 파생 클래스를 먼저 종료시키는 것이 문제가 발생했을때 베이스에서 부터 찬찬히 찾는 것이 더 빠르게 어느부분인지 파악할 수 있기때문인것 같다.

 마치 요리를 할때 가장먼저 재료의 상태를 살피는 것과 비슷하다고 느꼈다.

 

 

#  상속과 관련된 생성자와 소멸자의 주의사항.

- 파생 클래스에서 기본 클래스 멤버 변수를 직접 변경하는 것은 적절치 않다.

- 파생 클래스 생성자에서 기본 클래스 멤버를 초기화 하지 말아야 한다.

- 상속관계에서 모든 생성자/소멸자는 오로지 객체 자신에 대한 접근만 시도하는 것이 적절하다.

 

반응형

'All Development' 카테고리의 다른 글

C++) 가상 함수 작동원리  (0) 2024.04.15
C++) 가상 함수  (0) 2024.04.03
C++) 메서드 재정의  (0) 2024.03.27
C++) 상속  (1) 2024.03.22
C++) 객체 간 관계와 상속  (0) 2024.03.21