해결된 질문
작성
·
174
1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
//문제 2: 개 타입 반환
//dogHospital.setAnimal(dog);
Dog bigger = dogHospital.bigger(new Dog("멍멍이2", 400));
System.out.println(bigger);
문제점 2번에서
dogHospital.setAnimal(dog); 선언을 새로 한 이유가 있나요 ? 주석처리하고 컴파일해도 정상적으로 작동해서 여쭤봅니다.
답변 1
0
타입 매개변수 제한2 - 다형성 시도 예시에서 개병원에 고양이를 넣어도 문제가 발생하지 않는 아래와 같은 상황에 대한
해결책으로 아래와 같이 제네릭을 도입한 개병원/고양이 병원 분리하는 코드를 추가하였는데요.
AnimalHospitalV3<Dog> dogHospital = new AnimalHospitalV3<>();
AnimalHospitalV3<Cat> catHospital = new AnimalHospitalV3<>();
분리하기 전의 상황에서는 set()을 하는게 의미가 있었겠지만
타입 매개변수 제한4에서는 개병원에 개를 두번 넣는 중복이여서 동작에는 문제가 없었겠네요 😀
동작의 오류가 아니고 전달하려는 핵심의도까지는 아니다보니
강의 예제코드 골격을 크게 변경하지 않고 핵심 부분 코드만 예제에서 변경하신 것 같아요^^
집중해서 학습하지 않는다면 신경쓰기 쉽지 않은 부분이라 생각하는데, 꼼꼼히 학습하시는 것 같습니다 😀
저는 처음에 AnimalHospitalV3<T extends Animals> 클래스에서
setter 메서드를 강사님처럼 set이 아닌 setAnimal로 작성했습니다.