• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

클래스 상속과 오버라이딩 질문있습니다!

20.08.04 06:35 작성 조회수 93

0

안녕하세요. 강사님! 강의를 완강한 수강생입니다. 처음엔 그냥 그렇겠지 하고, 생각했는데...잘이해가 가지않아서 질의드립니다.

Class 상속에서 자식클래스의 메서드 기능이나 설명을 모르는경우 부모클래스에서 같은 메서드 이름을 써주어 오버라이딩하고, main 함수에서 upcasting 하여 사용한다고 설명해주셨습니다. 하지만 소스코드가 없다면 메서드 이름조차 알수없지않을까? 생각이 들었습니다.

또 오버라이딩은 다른 책을찾아보면 부모클래스의 함수를 자식클래스에서 재정의한다고 @기호를 붙이던데, 혹시 강사님이 설명주신거처럼 자식클래스의 매서드와 동일한 이름으로 부모 클래스에 정의하면 자동으로 자식클래스의 매서드 위에 @overiding 문구가 들어가는지 궁금합니다.

항상 좋은강의 들려주서서 감사합니다!

답변 2

·

답변을 작성해보세요.

1

상속을 하고 부모 클래스의 메서드를 자식 클래스에서 오버라이딩을 하면 자식클래스의 메서드 이름이나 소스코드는 사실 알수없어도 부모클래스의 메서드로 자식클래스의 오버라이딩된 메서드를 실행할수있습니다.

이건 전제조건이 오버라이딩이 되어야 가능하기에 부모클래스를 추상클래스나, 인터페이스로 만들게해서 자식에서 반드시 오버라이딩을 시키게 해야됩니다. 이해가 되셨을까요?

0

fiyhix님의 프로필

fiyhix

질문자

2020.08.05

아!!! 이해했습니다!!! 말씀하신 전제조건이면 이해했습니다!! 감사합니다!