해결된 질문
작성
·
104
·
수정됨
0
안녕하세요.
<다형성과 설계-문제와 풀이> 강의를 듣는 중에 의문이 생겨 문의드립니다.
수업 내용에 따라 Sender 클래스는 인터페이스로 작성된 상태입니다.
사진과 같이 "Sender[] senders = "로 배열을 생성하여도, 배열 안의 값들은 Sender형이 아닌 각각 EmailSender, SmsSender, FaceBookSender형으로 생성이 되는 건가요?
만약 Sender형으로 인스턴스가 생성이 된다면, 인터페이스는 인스턴스를 생성할 수 없기 때문에 NullPointerException이 발생해야 할 것 같아서요.
답변 부탁드립니다. 감사합니다.
답변 1
1
안녕하세요. S.F.님, 공식 서포터즈 y2gcoder입니다.
사진과 같이 "Sender[] senders = "로 배열을 생성하여도, 배열 안의 값들은 Sender형이 아닌 각각 EmailSender, SmsSender, FaceBookSender형으로 생성이 되는 건가요?
=> 말씀하신 부분이 맞습니다. 그 뒤에 말씀하신 것과 같이 인터페이스는 인스턴스를 생성할 수 없기 때문입니다!
각 요소들의 생성자에서 사용한 타입의 인스턴스로 생성된다고 이해하시면 될 것 같습니다!
배열이 추가되었으나 어렵게 생각하실 필요 없이 저희가 이전 시간에 배웠던 것과 똑같습니다
감사합니다.
덕분에 확실히 정리가 되었습니다. 감사합니다!!