Animal이 가진 공통 정보
이름과 나이 조회, 기본 정보 출력처럼 모든 Animal에 공통인 책임을 담습니다.
name = "바둑이"
species = "개"
age = 3
displayInfo(), getName()
자식 생성자는 부모 생성자를 먼저 호출해 기반 부분을 완성한 뒤, 자식 멤버를 초기화합니다. 소멸은 그 반대 순서입니다.
이름과 나이 조회, 기본 정보 출력처럼 모든 Animal에 공통인 책임을 담습니다.
name = "바둑이"
species = "개"
age = 3
displayInfo(), getName()
견종, 짖기, Animal 출력 뒤 견종을 덧붙이는 override가 Dog 쪽 책임입니다.
breed = "진돗개"
bark()
displayInfo() override
| 시점 | 호출되는 함수 | 읽어야 할 의미 |
|---|---|---|
| 생성 시작 | Animal 생성자 → Dog 생성자 | 기반 클래스가 준비되어야 자식 멤버가 안전하게 붙는다. |
| 사용 중 | getName(), bark(), displayInfo() | 상속받은 인터페이스와 추가 인터페이스를 같은 객체에서 쓴다. |
| 소멸 시작 | Dog 소멸자 → Animal 소멸자 | 자식 자원을 먼저 정리하고 부모 부분을 마지막에 정리한다. |