자바-자린이의 도전기
다형성1-1)업캐스팅/다운캐스팅
광형
2022. 4. 18. 21:10
728x90
728x90
SMALL
다형성 :
상속을 이용한 기술로 부모클래스로부터 상속받은 자식 클래스 타입의 객체를 부모 클래스 타입으로 형변환하여 한번에 다룰 수 있는 기술입니다.
업캐스팅(Upcasting)
- 상속 관계에 있는 부모, 자식 클래스 간에 부모타입의 참조형 변수가 모든 자식 타입의 객체 주소를 받을 수 있습니다.
//Sonata 클래스는 Car 클래스의 후손 Car c = new Sonata();
//Sonata클래스형에서 Car클래스형으로 바뀜
-자동형변환
-자식 타입 -> 부모타입
다운캐스팅(Downcasting)
- 자식 객체의 주소를 받은 부모 참조형 변수를 가지고 자식의 멤버를 참조해야 할 경우, 부모 클래스 타입의 참조형 변수를 자식 클래스 타입으로 형 변환하는 것입니다. 자동으로 처리되지 않기 때문에 반드시 후손 타입 명시해서 형 변환
//Sonata 클래스는 Car 클래스의 후손
Car c = new Sonata();
((Sonata)c).moveSonata();
-강제형변환
-부모타입-> 자식타입
- 생략 불가
다형성을 사용하는 이유
객체배열에서 하나의 타입으로 배열을 만들어줘야하니까
부모 클래스 타입으로 자식 객체들을 담을 수 있습니다.( 관리가 수월합니다.)
부모 타입의 객체배열을 만들고 자식객체를 묶어서 관리해봅시다.
다음시간에 추상클래스,인터페이스 설명하겠습니다.
728x90
300x250
LIST