(사색) 클래스 상속 컴파일 시, 부모 클래스의 생성자 두번 호출(미해결)

상속한 클래스를 컴파일 하는 경우
부모의 생성자를 두번 호출 하는 현상을 발견 하였다.

추정 되는 이유로는
상속 과정에서 부모 클래스에 대한 정보를 받아오기 위해 부모 클래스의 생성자를 한 번 호출 하고,
자식 클래스를 객체로 만들어 동적할당 받는 과정에 부모 클래스의 생성자를 두번 째 호출 하는 것으로 보인다.

때문에 '할아버지 > 부모 > 자식' 계층으로 된 경우
부모는 두번 호출 하고, 할아버지는 네번 호출 하는 모습을 확인 하였다.

그렇다면 상위 클래스를 다계층으로 한다면 비효율 적인 연산을 계층 수의 제곱번 한다는건데,



해결 방법은
1. 상위 클래스 계층 구조를 최대한 짧게 구성한다.
2. 상위 클래스를 잘못 상속 받고 있는지 확인한다.


다른 방법을 찾지 않는다면 1. 로 사용 하도록 해야 겠다.

(혹 2. 가 확인 된다면 아래에 추가 예정)

댓글

  1. 현재 클래스 상속 방법
    부모 클래스
    자식 클래스
    에서 자식 클래스의 생성자에서 부모 클래스의 객체를 동적 할당 받음
    (자식 클래스의 몸체 private: 접근 제어자에서 부모 클래스 객체를 동적 할당 받아도 결과 동일)

    혹시 문제 해결 방법을 아시는 분 있으시면 댓글 부탁 드립니다.

    답글삭제

댓글 쓰기