다형성1-1)업캐스팅/다운캐스팅
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
'자바-자린이의 도전기' 카테고리의 다른 글
다형성1-3)인터페이스/추상클래스와 인터페이스 비교 (0) | 2022.04.27 |
---|---|
다형성1-2)instance of 연산자/추상클래스/ (0) | 2022.04.26 |
상속1-3)오버로딩과 오버라이딩 비교/toString오버라이딩 (0) | 2022.04.10 |
상속1-2)super./super()/오버라이딩 (0) | 2022.04.09 |
상속 1-1)상속?/extends/상속 class 예시 (0) | 2022.04.08 |
댓글
이 글 공유하기
다른 글
-
다형성1-3)인터페이스/추상클래스와 인터페이스 비교
다형성1-3)인터페이스/추상클래스와 인터페이스 비교
2022.04.27 -
다형성1-2)instance of 연산자/추상클래스/
다형성1-2)instance of 연산자/추상클래스/
2022.04.26 -
상속1-3)오버로딩과 오버라이딩 비교/toString오버라이딩
상속1-3)오버로딩과 오버라이딩 비교/toString오버라이딩
2022.04.10 -
상속1-2)super./super()/오버라이딩
상속1-2)super./super()/오버라이딩
2022.04.09