Casting

시바코코개발자·2023년 6월 26일
0

up casting
down casting

모든 자식은 부모타입이다.

up casting

-- 자식 값을 부모타입으로 형변환

down casting

-- up casting 된 객체를 자식 타입으로 형변환

  • 부모 값을 자식 타입으로 형변환 시 오류

Casting을 사용하는 이유
모든 자식 값을 전달받기 위해서는 동일한 타입의 저장공간으로 받아야한다. 하지만 자식끼리는 서로 타입이 다르기 때문에 한 번에 전달 받을수가 없다.
이 때 up casting을 사용하면, 모든 자식이 부모타입이므로 하나의 저장공간에 모든 자식을 받을 수 있게 된다.
만약 up casting으로 자식 값을 전달받았다면, 자식에서 새롭게 구현한 기능들은 사용할 수 없게 된다. 그렇기 때문에 down casting을 통해서 복구하여 사용한다.

묶을 때는 up casting으로 부모타입으로 묶었다가, 다시 +알파를 사용하려면 down casting을 통해서 풀어서 사용.

0개의 댓글