해결된 질문
작성
·
73
0
A b = new B();였다면
생성자 of A
ADCD가 되는 건가요?
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야
어떤 강좌에서 질문하셨는지 알 수 있습니다.
영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.
이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.
학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.
제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.
시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)
질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
답변 2
0
네 정확합니다. 그렇게 출력됩니다.
부모의 기본 생성자 출력
부모의 Paint()에서 A, 자식의 draw에서 D
b.paint()에서 C, b.draw()에서 D
그래서
생성자 of A
ADCD
입니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이은비님.
헷갈리실 수 있는 객체 생성과 생성자 호출 순서에 대한 질문을 해주셨습니다. 유사한 질문과 답변을 찾아보았으며, 관련 내용을 간단히 설명드릴게요.
객체 생성 시, 자바에서는 객체 A가 B를 상속받는 상황에서 new B()
를 호출하면 클래스 B의 생성자가 실행됩니다. 상속 관계에서는 먼저 부모 클래스의 생성자가 호출되고, 그 다음 자식 클래스의 생성자가 호출되는 순서를 가지게 됩니다. 그래서 생성자의 호출 순서는 ‘생성자 of A’ (부모 클래스 생성자), 그 다음 ‘생성자 of B’ (자식 클래스 생성자)가 됩니다. 그렇기 때문에 A의 생성자 다음에 B의 동작이 수행되어 생성자 호출은 다음과 같이 이루어지게 됩니다.
일반적으로 이해하시기 쉽게 설명드리면, 부모 클래스의 생성자로 가서 기본 설정을 하고 자식 클래스의 고유 설정을 하게 되는 것이죠.
아래 관련된 유사한 질문을 확인하여, 보다 깊이 있는 설명이 필요한 경우 참고하실 수 있게 제공합니다:
위의 링크는 관련된 주제를 다룬 과거 질문입니다. 한번 참고하시면 이해에 도움이 되실 거예요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.