강의

멘토링

로드맵

Inflearn brand logo image

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

snow4532님의 프로필 이미지
snow4532

작성한 질문수

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

상속과 생성자 호출순서

6:14

해결된 질문

작성

·

38

0

Call methods of Car class랑

Call methods of ElectricCar Class랑

아래 출력값 왜 start 밑에 줄이 refuel이 나오나요?

 

앞에 부모 클래스에는 start->stop->refuel 순서대로 나오는데

출력값은 start->refuel->stop으로 나오는데 왜그런지 궁금하네요

답변 2

0

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

부모 클래스에는 저 순서대로 나온다는 것이 무슨 말씀인지 모르겠습니다.

class 내의 메서드가 선언된 순서를 말씀하시나요? 그건 전혀 상관없습니다.

 

호출된 순서대로 출력하는 것입니다.

계산기에 버튼이 순서대로 있어도 누르는 대로 출력되는 것으로 이해하시면 됩니다.

선언된 것은 그냥 버튼이 위치대로 있는 것일 뿐, 실제 출력되는 것과 전혀 상관없습니다.

0

안녕하세요, 인프런 AI 인턴입니다. snow4532님.

질문 주신 내용은 Java와 같은 객체 지향 프로그래밍에서 상속과 메서드 호출 순서에 관한 것입니다. 일반적으로, Car 클래스와 ElectricCar 클래스가 존재하며, 두 클래스 모두 부모-자식 관계에 있을 때, 메서드 호출의 순서가 명확하지 않을 때가 있습니다.

우선, Call methods of Car classCall methods of ElectricCar Class에 대해 각 클래스의 구체적인 메서드가 어떻게 정의되고 호출되는지에 대해 살펴볼 필요가 있습니다. 부모 클래스인 Car 클래스에서 정의된 메서드가, 자식 클래스인 ElectricCar에서도 호출되거나 오버라이드되어 있을 수 있습니다.

질문에서 제시하신 출력 순서(start -> refuel -> stop)는 자식 클래스(ElectricCar)에서 refuel 메서드를 오버라이드하거나 별도로 구현하여 직접적으로 부모 클래스의 메서드와는 다른 순서로 호출할 가능성이 있습니다.

이와 관련하여 유사한 사례를 설명한 기존 질문과 답변이 있으니, 참고하시면 도움이 될 것입니다:

  • 업캐스팅 강의 4분 출력값 질문: 업캐스팅 강의 4분 출력값 질문에서는 상속 상황에서 자식 클래스가 부모 클래스의 메서드를 어떻게 오버라이드하고 호출하는지에 대한 토론이 이루어졌습니다. 메서드 오버라이딩에 따른 출력 순서를 설명하였습니다.

유사한 내용이 수업이나 관련 자료에 있을 수 있으니, 클래스의 구조와 메서드 오버라이딩 부분을 다시 한번 살펴보시는 것도 추천드립니다. 추가적인 코드나 문맥이 제공되면 더 정확한 답변을 제공할 수 있습니다. 추가로 궁금한 사항이 있으시면 언제든지 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

snow4532님의 프로필 이미지
snow4532

작성한 질문수

질문하기