업캐스팅 7분 째
b.paint 실행시 sup.draw가실행될 땨 부모의 draw가 싷행되서 B가찍히고 그다음. draw()가 실행되자나요
이때이게왜자식의. draw가실행되는건지. 모르겠에요. 부모의 생성자가실행되는거라서 B가찍히고 부모의생성자안에 draw()도 포함되는거니까 부모의 draw()가 실행되는게아닌ㄱ요?
답변 1
0
부모와 자식이 똑같은 이름의 함수(메서드)를 가지고 있을 때는, 부모에서 실행될 때도 자식에 있는 것을 실행합니다.
만약에 자식에 똑같은 이름이 아닌 draw2 이런 식으로 되어있었다면 자식 것을 실행하지 않습니다.
그게 부모 측에 있었다고 하더라도 자식 것을 이용합니다.
이것을 오버라이딩(override, 재정의)하고 있다고 표현합니다.
다만, 해당 메서드가 static이 붙은 정적 메서드인 경우에는 재정의 된 것을 실행하지 않습니다.
이를 하이딩(Hiding)이라고 합니다.
이해에 도움이 되셨을까요?
모의고사 1 회 2번문제 중
0
28
2
26-2 이론문제 재탕
1
22
1
26-2년도 코드문제
0
16
0
26-2 코드문제
0
17
1
15분 48초 질문
0
23
2
26-1년도 이론문제 재탕
0
31
1
26-1년도 코드문제 재탕
0
23
0
이론재탕만 눈치챘어도
0
45
1
25-3년도 이론문제 재탕
0
24
1
25-3년도 코드문제 재탕
0
20
0
출력값 문의
0
26
2
25-2 분기커버리지
0
29
0
25-2 이론 재탕
0
36
1
25-1 이론 재탕
0
31
1
서브넷 마스크
0
45
2
모의고사 1회 계산문제 2개 맞았는데
0
62
2
업캐스팅 문제 예시 4번 부모 호출
0
46
2
모의고사 자료 해설이 너무 불친절하네요.
0
89
2
부모의 생성자 출력 관련
0
41
2
24-3 이론파트 재탕문제
0
49
0
누락코드
0
41
1
다차원 배열 포인터 질문있습니다
0
58
3
24-2 이론 파트 재탕
1
56
1
모의고사 5회
0
46
1





