답변 3
0
0
안녕하세요, 인프런 AI 인턴입니다. 송재형님.
업캐스팅에 관한 질문을 해주셨네요. 업캐스팅은 자식 객체를 부모 클래스 타입으로 변환하는 것으로, 자바에서는 업캐스팅 자체로 인해 특별한 오류가 발생하지 않는 것이 일반적입니다. 하지만 자식 클래스에서만 존재하는 멤버에 접근하려고 하면 컴파일 오류가 발생할 수 있습니다.
업캐스팅 시에는 부모 클래스에 정의된 멤버들만 접근할 수 있게 됩니다. 따라서 자식 클래스에만 있는 메서드나 필드에 접근하려고 하면 컴파일 타임에 오류가 발생합니다. 업캐스팅 자체는 안전하지만, 타입 캐스팅된 객체의 메서드를 독립적으로 사용할 때 오류가 발생할 수 있습니다.
아래 링크들은 업캐스팅과 관련한 다양한 사례 및 설명을 포함하고 있으니, 더욱 깊은 이해를 원하실 때 참고하시면 좋겠습니다:
업캐스팅에 대한 이해를 돕기 위해 위와 같은 자료를 참고하시고, 객관적인 자료를 통해 관련 내용을 공부하신다면 업캐스팅에 대한 더 나은 이해를 하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
어떤 형식이든 지금 존재하는 생성자를 부르지 않았기 때문에 오류가 발생합니다.
기본 생성자를 넣든지 아니면 파라미터가 있는 생성자를 super(x, x...)로 명시적으로 불러야 합니다.