업캐스팅

//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()를 호출할 수 있습니다.
중요 포인트
- 업캐스팅 시 참조 변수는 부모 타입이지만, 실제로 호출되는 메서드는 객체의 타입에 따라 결정되는 다형성을 고려해야 합니다.
- 부모 클래스를 명시적으로 지정하여 메서드를 호출할 경우, 부모 클래스의 메서드로 접근할 수 있습니다. 이를 통해 메서드 오버라이딩된 상태에서도 부모의 메서드를 호출할 수 있습니다.
이러한 부분들은 자바의 상속과 다형성에서 중요한 개념이니 관련된 실습을 통해 이해를 깊이 하시는 것을 추천드립니다.
질문과 관련된 더 많은 예제와 설명을 보시려면 아래의 링크를 참고하시면 좋을 듯합니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
55강 파이썬에만있는 연산자들
0
8
1
55강의 파이썬에서만 있는 연산자들
0
5
1
29강 5:00
0
32
2
띄어쓰기
0
35
2
공부 순서
1
44
2
재귀함수 연산법
0
33
2
26년 1회차 기출 강의
0
63
2
기출문제
0
64
1
C언어에서
0
64
1
포인터 질문
0
58
2
실기 공부 시작 하려고 하는데요
0
109
2
필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)
0
98
2
26년 1회 실기 해설 강의
0
116
2
53번 4-1 자료 오류 있는 것 같습니다.
0
109
2
7번문제
0
88
2
C언어 변형문제 9번문제 Pdf 수정요청
0
82
2
메서드 오버드라드
0
73
2
실수
0
64
1
공부 우선순위 우선강의 알려주세요
0
149
1
생성자 호출순서 강의 10번 문제 30분대 질문입니다
0
72
2
25년 2회 기출 5:40 질문입니다.
0
55
2
모의고사1회 3번 파이썬문제
0
86
2
C언어 출제변형 6번 문제
0
57
2
c언어 출제변형 강의 질문
0
45
2





