인프런 커뮤니티 질문&답변

S.F.님의 프로필 이미지
S.F.

작성한 질문수

김영한의 실전 자바 - 기본편

섹션 12. 다형성과 설계 예제 관련 질문

해결된 질문

작성

·

104

·

수정됨

0

 

안녕하세요.

<다형성과 설계-문제와 풀이> 강의를 듣는 중에 의문이 생겨 문의드립니다.

수업 내용에 따라 Sender 클래스는 인터페이스로 작성된 상태입니다.

사진과 같이 "Sender[] senders = "로 배열을 생성하여도, 배열 안의 값들은 Sender형이 아닌 각각 EmailSender, SmsSender, FaceBookSender형으로 생성이 되는 건가요?

만약 Sender형으로 인스턴스가 생성이 된다면, 인터페이스는 인스턴스를 생성할 수 없기 때문에 NullPointerException이 발생해야 할 것 같아서요.

답변 부탁드립니다. 감사합니다.

 

답변 1

1

안녕하세요. S.F.님, 공식 서포터즈 y2gcoder입니다.

사진과 같이 "Sender[] senders = "로 배열을 생성하여도, 배열 안의 값들은 Sender형이 아닌 각각 EmailSender, SmsSender, FaceBookSender형으로 생성이 되는 건가요?

=> 말씀하신 부분이 맞습니다. 그 뒤에 말씀하신 것과 같이 인터페이스는 인스턴스를 생성할 수 없기 때문입니다!

각 요소들의 생성자에서 사용한 타입의 인스턴스로 생성된다고 이해하시면 될 것 같습니다!

image배열이 추가되었으나 어렵게 생각하실 필요 없이 저희가 이전 시간에 배웠던 것과 똑같습니다

 

감사합니다.

S.F.님의 프로필 이미지
S.F.
질문자

덕분에 확실히 정리가 되었습니다. 감사합니다!!

S.F.님의 프로필 이미지
S.F.

작성한 질문수

질문하기