인프런 커뮤니티 질문&답변
인스턴스 타입을 부모로해도 자식의 오버라이드 메서드가 호출되나요?
해결된 질문
작성
·
509
·
수정됨
0
안녕하세요!
ElectricCar electricCar = new ElectricCar();
electricCar.move();이렇게 하면 호출한 electricCar의 타입은 ElectiricCar라서 인스턴스 내부의 ElectricCar 타입에서 시작한다고 하셨습니다.
그래서 electricCar.move();를 실행하면 ElectricCar 의 move() 메서드가 실행돼서
전기차를 빠르게 이동합니다.이렇게 전기차로 출력이 됩니다.
Car electricCar = new ElectricCar();
electricCar.move();그럼 이렇게 타입이 Car타입이면
인스턴스 내부의 Car타입에서 move()메서드를 실행시켜 "차를 이동합니다."가 출력될 것이라고 생각했는데
전기차를 빠르게 이동합니다.여기서도 전기차를 빠르게 이동합니다.가 출력됩니다.
어째서 Car타입에서 move()메서드를 실행하지 않고 ElectricCar의 move()메서드를 실행하게 되는건가요?
감사합니다!!😊






그렇군요!!ㅜ 감사합니다😁