폴리몰피즘

gotcha!!·2023년 1월 5일
0

형태를 변화하는 다형성...
이게 무슨말인가 싶은데
기록하면서 공부해보고자 써본다

다형성 (Polymorphism)

다양한 형태의 성질을 지녔다.

상속 + 컴퓨터 연산 규칙 (같은 자료형끼리 연산 가능) + 얕은 복사
==> 개념이 섞임

다형성의 개념

상속을 이용한 기술로 부모 클래스 타입 참조변수 하나로,
상속 관계에 있는 여러 타입의 자식 객체를 참조할 수 있는 기술

클래스 형변환

업 캐스팅(Up Casting)

상속 관계에 있는 부모, 자식 클래스 간에 부모 타입의 참조형 변수가
모든 자식 타입 객체의 주소를 참조할 수 있음

// Sonata 클래스는 Car 클래스의 자식

Car(부모) c(부모 타입 참조형 변수) = new Sonata();

// Sonanta클래스형에서 Car클래스형으로 바뀜

자식 객체의 주소를 전달받은 부모 타입의 참조변수를 통해서 접근할 수 있는 객체의 정보는 부모로부터 상속받은 멤버만 참조가능

다운 캐스팅(Down Casting)

자식 객체의 주소를 받은 부모 참조형 변수를 가지고, 자식 멤버를 참조해야할 경우
부모 클래스 타입의 참조형 변수를 자식 클래스 타입으로 형변환 하는 것

다운 캐스팅은 강제 형변환이 필요하다

클래스 간의 형변환은 반드시 상속 관계인 클래스 끼리만 가능

강제 형변환 방법

알고 있는 내용들을 정리해보았다.
머리가 좀 아프긴 한데..
뭐 어쩌겠어
해야지

profile
ha lee :)

0개의 댓글