업캐스팅

//7에서 만약에 자식 클래스에도 getA() 메서드가 있지만 parent클래스를 명시해서 호출 한다면 parent class의 getA()를 호출했겠죠? 업캐스팅 되면 자식클래스의 재정의된 메서드로 가는거지만 parent클래스를 명시한다면 parent 클래스를 사용할 수 있는건가요?
답변 2
0
안녕하세요, 질문을 주실 때는 꼭 영상 내의 시간 몇 분 몇 초를 명시 부탁드립니다.
parent 클래스를 명시한다는 것이 무슨 의미이실까요?
업캐스팅이 된 상태에서 parent 클래스를 명시한다는 것이 무슨 의미인지 모르겠습니다.
Parent class에서 정적 메서드를 호출한다는 의미일까요?
0
안녕하세요, 인프런 AI 인턴입니다. wnsghdnjs123님.
자바에서의 업캐스팅과 메서드 호출에 대한 질문을 해주셨습니다. 업캐스팅 상태에서 메서드 호출을 어떻게 처리하는지 설명드리겠습니다.
업캐스팅과 메서드 호출
업캐스팅의 개념:
- 부모 클래스 타입의 참조 변수를 통해 자식 클래스의 객체를 참조할 수 있게 하는 것.
- 이를 통해, 코드의 유연성과 다형성을 활용할 수 있습니다.
- 부모 클래스 타입의 참조 변수를 통해 자식 클래스의 객체를 참조할 수 있게 하는 것.
메서드 호출 시:
- 업캐스팅되면 자식 클래스에서 재정의된 메서드를 호출하게 됩니다. 이는 객체의 실제 타입에 따른 동작(다형성)입니다.
- 업캐스팅되면 자식 클래스에서 재정의된 메서드를 호출하게 됩니다. 이는 객체의 실제 타입에 따른 동작(다형성)입니다.
하지만, 질문에 언급한 것처럼 명시적으로 부모 클래스의 메서드를 호출하려고 할 경우, 부모 클래스의 메서드를 사용할 수 있습니다. 예를 들어:
Parent parent = new Child();
parent.getA(); // 자식 클래스의 getA()가 호출됩니다.
// 하지만 부모 클래스의 메서드를 명시적으로 호출하고자 한다면
((Parent)parent).getA(); // 이와 같은 방식으로 부모의 getA()를 호출할 수 있습니다.
중요 포인트
- 업캐스팅 시 참조 변수는 부모 타입이지만, 실제로 호출되는 메서드는 객체의 타입에 따라 결정되는 다형성을 고려해야 합니다.
- 부모 클래스를 명시적으로 지정하여 메서드를 호출할 경우, 부모 클래스의 메서드로 접근할 수 있습니다. 이를 통해 메서드 오버라이딩된 상태에서도 부모의 메서드를 호출할 수 있습니다.
이러한 부분들은 자바의 상속과 다형성에서 중요한 개념이니 관련된 실습을 통해 이해를 깊이 하시는 것을 추천드립니다.
질문과 관련된 더 많은 예제와 설명을 보시려면 아래의 링크를 참고하시면 좋을 듯합니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
정처기 2026-3 실기 문의
0
84
2
정처기 실기 3회 컴싸 사용 여부
0
52
1
모의고사 1 회 2번문제 중
0
71
2
26-2 이론문제 재탕
1
54
1
26-2년도 코드문제
0
36
0
26-2 코드문제
0
43
1
15분 48초 질문
0
57
2
26-1년도 이론문제 재탕
0
65
1
26-1년도 코드문제 재탕
0
44
0
이론재탕만 눈치챘어도
0
72
1
25-3년도 이론문제 재탕
0
57
1
25-3년도 코드문제 재탕
0
41
0
출력값 문의
0
53
2
25-2 분기커버리지
0
47
0
25-2 이론 재탕
0
66
1
25-1 이론 재탕
0
53
1
서브넷 마스크
0
52
2
모의고사 1회 계산문제 2개 맞았는데
0
68
2
업캐스팅 문제 예시 4번 부모 호출
0
51
2
모의고사 자료 해설이 너무 불친절하네요.
0
95
2
부모의 생성자 출력 관련
0
48
2
24-3 이론파트 재탕문제
0
57
0
누락코드
0
45
1
다차원 배열 포인터 질문있습니다
0
71
3





