다형성 : 상속 기반
동물에는 고양이, 개, 닭 등등이 있다.
그럼 동물이 부모 클래스 이며 , 고양이, 개 등 이 자식 클래스가 될것이다.
공통적으로 동물은 먹이를 먹으므로 eat을 만들고
cry를 만들었지만 각 동물마다 우는 소리가 달라 do nothing으로 적었습니다.
자식클래스 Dog, Cat 에 그 자식클래스에만 해당되는것 적음
부모클래스에 적은 cry는 각 자식이 달라서 오버라이딩함
소스코드 업캐스팅과 다운캐스팅
* 다운캐스팅은 어떤 클래스에 속하게되는지 적어야함 생략 불가능!
다운캐스팅은 업캐스팅과 다르게 표현하는게 좋음 ( 실수할수도 있으니... )
다운 캐스팅은 사진처럼 instanceof를 사용해서
if( animal instanceof Dof) 가 true 이면 소스코드가 출력이 된다.
하지만 Cat인 경우는 false가 되므로 출력이 안됨
* 현재 객체가 dog이니깐 다운캐스팅 해서 출려하면 dog가 출력이 된다.
그러므로 cat은 안된다.
강아지를 동물이라고 부를수 있지만 고양이라고 부를수 없으니깐 !!!
'코딩 > java (백엔드공부)' 카테고리의 다른 글
java 써블릿 웹 과 인터넷 기초 지식 용어정의 (0) | 2022.05.11 |
---|---|
공부하는데 도움되는 사이트 모음 (계속 추가) (0) | 2022.05.09 |
java 상속 복습 (오버로딩, 오버라이딩) / 수정하기 !! (0) | 2022.04.22 |
java 컬렉션 프레임워트 _ LinkedList / set 계열 (0) | 2022.04.20 |
java clear, remove (0) | 2022.04.20 |