다형성
상속관계에서만 동작함
인스턴스 자식클래스
반대로는 성립안됨
다형성을 사용하면 일부분을 사용할수없다.
객체명 점 -> 접근할수있는 멤버변수는 데이터타입이 결정된다
ElectricFan 에 적어둔 powerOnOff / pushFanSrenth / rotaionSeith 만 호출할수 있는 범위이다.
공간낭비 -> 단점 X
다형성이 적용이 크다
문법이 틀리면 오류가 나는 이유
활용
동물원에 사자, 토끼, 사육사 클래스를 만들고
부모가 물려준 코드를 자식이 받는다
부모 animal
자식 Lion Rabbit
자식들에게 왜 이런 오류가 발생할까?
부모
부모가 매개변수 있는 생성자가 있어서
자식을 super 부모에게 보내므로 오류가 사라진다
형변환
형변환 예시
상속관계가 되어있어야지 형변환이 가능하다.
업캐스팅: 자손(자식)을 조상타입(부모)으로 변환할때 / 형변환 연산자 생략가능
다운캐스팅 : 조상타입(부모)을 자손타입(자식)으로 변환할때 / 형 변환 연산자 생략 불가능
위에 형변환 되는 과정
이거는
car = fe1
fe2 = (fireEngine) car; 가능하므로
fe2는 drive, stop, water 다 가능함
결론 상황에 따라 되고 안되고 다르다.
instanceof 항변환 되는지 안되는지 알려주는 연산자
활용
마트에 사과, 바나나, 양파를 바구니에 담는다.
1. 사과가 3개 담는다.
2. 바나나 3개를 담는다.
3. 양파 3개를 담는다.
(2) 물건을 담을 수 있는 바구니에 사과, 바나나, 양파를 담으시오
'코딩 > java (백엔드공부)' 카테고리의 다른 글
java chapter14 예외 처리(1), (2), (3), (4),(5) (0) | 2022.04.15 |
---|---|
java chapter13 인터페이스 , 추상클래스 (0) | 2022.04.14 |
java 클래스, 생성자 추가 공부 (0) | 2022.04.13 |
java chapter12 오버라이딩 , 생성자 추가 (0) | 2022.04.12 |
java chapter12 상속 (0) | 2022.04.12 |