보안
2024.01.08.월.day7
202401to07
2024. 1. 8. 15:52
복습 순서
B07
B08
Shape :
-Squre
-Triangle
B09
public Shape(String shapeName, int width,int height)
Triangle 에서 정의한거
private int angle;
public int getAngle(
public void printAngle() {
오버라이드 : 자식이 부모 메소드 수정하는거
**final 메소드는 오버라이드 안됨
B09
자식은 부모 메소드 실행 가능(print()--> Shape메소드)
부모는 자식 메소드 실행 불가능(getAngle()--->Triangle메소드)
자식객체를 부모타입으로 참조하면
타입은 부모로 바뀜.
그러므로,
참조변수(tempShape)는 부모메소드만 쓸수있음
--> 그럼 부모객체는 자식타입을 절대 참조할수없는가?-> 아님
:: instanceof 연산자를 사용하여
객체가 실제로 Triangle 클래스의 인스턴스인지 확인한 후에 캐스팅을 시도하는 방법
객체가 Triangle 클래스의 인스턴스일 때만 캐스팅이 이루어지며, 그렇지 않을 경우 오류가 발생하지 않는다.