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

28026님의 프로필 이미지
28026

작성한 질문수

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

상속과 생성자 호출순서

기본생성자

해결된 질문

작성

·

108

0

자식클래스 메서드 실행 시 부모 호출 후 메서드 실행된다고 하셨습니다.

10:32에 super가 없기 때문에 기본인 Car()이 실행되는데,

무조건 위치 상 맨 위에 있는 것이 기본인 것인가요?

예를들어

맨위에 Car(String model)

밑에 Car(String model, int year)가 있으면

Car(Stirng model)이 호출되는 것인가요

답변 2

0

7:30에 출력값 보면 3번째줄 부모에 start출력되고 부모에stop은 출력이 왜 안될까요,,? start만 츌력되는 이유 궁금해요

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

start는 자식이 재정의하지 않아서 부모 것이 호출되고,

stop은 자식이 재정의해서 자식 것이 사용됩니다.

0

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

"자식클래스 메서드 실행 시 부모 호출 후 메서드 실행된다고 하셨습니다."

-> 잘못된 표현입니다. 메서드는 부모와 상관 없습니다.(재정의의 개념만 적용) 10:32에 있는 Car, ElectricCar는 메서드가 아닙니다. 생성자입니다. 클래스 이름과 이름이 같은 메서드는 생성자라고 불러주셔야 합니다. 일반 메서드가 호출되기 전에 부모를 부르거나 이런 것은 없습니다.

 

그리고 super()라는 키워드는 코드 상에 가장 상위에 있어야 실행됩니다. 이건 업캐스팅 영상에서 예시로 하나 넣어두었을 겁니다. 그 영상을 꼭 한 번 봐주세요. 시험 빈출이라서 또 나올 수도 있습니다.

 

이해에 도움이 되셨을까요?

28026님의 프로필 이미지
28026

작성한 질문수

질문하기