보안

2024.01.08.월.day7

202401to07 2024. 1. 8. 15:52

 

복습 순서 

B07

B08

Shape : 

-Squre

-Triangle

B09

 

 

Shape

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 클래스의 인스턴스일 때만 캐스팅이 이루어지며, 그렇지 않을 경우 오류가 발생하지 않는다.