inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

다형성과 메서드 오버라이딩

다형성1 과목 개념정리 질문입니다

447

김도현

작성한 질문수 2

0

[질문 내용]
제가 지금 이해한 내용으로는

Parent parent = new child(); 가 있을때

 

메모리에는 Child를 기준으로 상위 부모 클래스만 메모리에 적재되고 (편의상 Child 메모리라고 하겠습니다),

parent의 참조 주소는 생성된 Child 메모리 안의 Parent 클래스를 참조하며,


parent의 멤버변수는 Parent 클래스의 멤버변수만 가질 수 있고,


오버라이딩된 메소드가 존재한다면 무조건 오버라이딩된 메소드가 우선권을 가진다

라고이해했는데, 덧붙일 개념들이 혹시 있을까요?

아, 그리고 만약 오버라이딩된 메소드가 부모클래스에서 실행할 수 없는 메소드라면 어떻게되는지도 궁금합니다.
(혹시, 오버라이딩된 메소드가 부모클래스에서 실행되지않을 가능성은 아예 없나요?)

java 객체지향

답변 2

1

김영한

안녕하세요. 김도현님

생각하신 내용이 맞습니다.

추가로 질문하신 부분은 부모 클래스에 정상적으로 존재하는 메서드여야 오버라이딩이 가능합니다.

감사합니다.

 

0

김도현

부모클래스와 자식클래스를 개발하는 개발자가 서로 다르다고 가정하고,

 

자식클래스에 int A = 10; 이라는 멤버변수가 추가되었고 ,
부모클래스의 메소드 Alpha 를 오버라이딩하여 int A를 출력하는 로직을 작성했을때,

이를 부모클래스를 담당한 개발자가 모르는상태로 Alpha를 사용했다고 가정하면

1. 객체지향을 벗어난 작동방식이 아닌지

2. 부모클래스는 자식클래스의 멤버변수에 접근할 수 없다고 알고있는데, 위와같은 경우에는 부모클래스가 자식클래스의 멤버변수에 간접적으로 접근하는건 아닌지

2-1 맞다면 이 접근방식이 괜찮은건지

궁금합니다! ㅜㅜ

1

김영한

안녕하세요. 김도현님

메서드 오버라이딩은 부모 타입이 아니라 자식 타입을 호출하는 것이 목적입니다.

따라서 오버라이딩 시에 자식 타입에 있는 데이터도 함께 사용하는 것이 맞습니다 🙂

감사합니다.

0

인프런 AI 인턴

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

김도현님의 다형성에 관련된 질문 내용을 잘 이해하였습니다. 질문하신 내용에 대해 이미 강사님이 자세히 답변해 주신 경우가 있어 해당 답변 URL을 공유드립니다.

‘다형성 질문입니다’에서 다형성의 개념과 객체 생성 시 부모와 자식 클래스의 참조에 대해 설명하고 있습니다. 이 내용을 확인하시면 도움이 될 것입니다.

강사님께서는 상속 관계에서 자식 클래스를 생성하면 부모 클래스도 함께 메모리에 생성된다고 설명합니다. 그리고 ‘상속 -> super - 생성자’와 ‘상속 -> 상속과 메모리 구조’ 두 부분을 복습하면 더 좋은 이해를 할 수 있을 것이라고 조언하셨습니다.

이 외에도 ‘상속 관련해서 질문 있습니다.‘에서 상속과 인스턴스, 메모리 구조에 대한 설명이 있으니 참고하시면 좋을 것 같습니다.

또한, ‘다운캐스팅 질문’에서는 다형성과 캐스팅에 대한 설명이 있으니 관련 내용을 확인해 보시는 것도 유익할 것입니다.

각 링크의 답변을 참고하시면 다형성에 대한 이해를 더욱 넓히실 수 있을 것입니다.

질문있습니다

0

31

1

1번 문제 질문입니다.

0

36

1

음악플레이어 문제 중 코드질문

0

30

1

9장 상속 문제와 풀이 질문

0

40

1

강의 자료에 사소한 오타가 있습니다.

0

53

2

매서드 참조값 반환??

0

70

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

75

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

87

1

공부방법

0

78

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

82

1

static method 질문

0

68

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

99

1

Method1에서 Student 객체

0

75

1

3강 18. null 질문

0

71

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

79

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

100

1

문의

0

104

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

93

1

상속과 그에 따른 메모리 구조 질문

0

66

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

75

1

수강기한

0

137

1

기본편 객체지향 프로그래밍에 대한 정의

0

90

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

90

1

추가 지식 학습

0

153

2