• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

24.06.04 10:31 작성 24.06.04 10:36 수정 조회수 75

0

 

안녕하세요.

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

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

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

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

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

 

답변 1

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2024.06.04

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

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

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

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

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

 

감사합니다.

S.F.님의 프로필

S.F.

질문자

2024.06.04

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

채널톡 아이콘