[c++]
[c++] 업케스팅, 다운캐스팅
롤링페이퍼
2023. 11. 16. 14:43
알기 쉽게 예시해서 말하자
동물( animal ) 이 있다.
animal 에는 개, 새, 고양이, 물고기 등 등 다양한 종족이 있다.
여기서 부모는 animal(동물)이라는 것 이고
개, 새, 고양이, 물고기 등등 이런것들은 animal (동물)의 자식이라고 표현한다.
이제 더 깊게 말해보자
동물들은 공통된 행동들이 있다.
먹고, 싸고, 자기 등등 이 대표적인 공통된 행동이다.
코드로 변한 해보면
auto animal[] = ("개, 새, 고양이,...");
이제 개, 새, 고양이 등등 얘네들의 특정 행동들을 말해보자
개는 복종을 잘따른다.
고양이는 그루밍을 한다.
새는 하늘을 날수있다.
이것도 코드로 변환 해보면
auto dog = (" obedience "); //복종
auto cat = (" grooming "); // 그루밍
auto brid = ("fly"); // 날다
일 것이다.
자 이제 내가 무언가를 만들것이다.
class 동물
{
//...
}
class 사람 : public 동물
{
//...
}
void main
{
사람 홍길동 ;
동물 어떤동물 = 홍길동;
}
자식 class에 들어있는 자료형 변수를
부모 class에 들어있는 자료형 변수에 자식 자료형 변수를 담는 것.