인프런 커뮤니티 질문&답변

pmg4289님의 프로필 이미지

작성한 질문수

(2024) 일주일만에 합격하는 정보처리기사 실기

생성자와 메서드

9분 12초 내용입니다.

해결된 질문

24.07.24 11:58 작성

·

98

0

코드 시작할때 부모의 car을 먼저 부르고 그다음 자식것을 호출하는것은 잘 알겠습니다.

만약에 스타트 엔진이라는 메서드가 자식에게도 있었다면

오버라이딩이 우선, 재정의된 자식것이 출력 -> 다음코드진행

위의 car처럼 부모것을 부르고, 자식것을 출력 -> 출력 (이게 성립되려면 스테틱이 붙어서 하이딩이 되어야 하는지..?)

답변 요청드립니다!

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

2024. 07. 24. 23:48

글로만 봐서는 정확하게 질문이 이해가 잘 안가서 일반적인 설명으로 대체해서 답변드립니다.

만약, 자식에게도 startEngine()이 있었다면 실행 순서는 이렇습니다.

myElectricCar.startEngine()일 때,

Car 기본 생성자 -> 자식의 startEngine() 이렇게 동작합니다.

 

하이딩은 static이 붙은 메서드는 재정의를 무시한다는 것입니다. static이 있으면 그냥 앞에 생성된 타입을 따라가시면 됩니다. (Parent p = new child()의 경우 타입은 Parent)

pmg4289님의 프로필 이미지

작성한 질문수

질문하기