타입변환과 다형성

딩딩당당·2022년 12월 5일
0

인터페이스의 다형성

구현 객체를 교체하여 프로그램 실행 결과가 다양해지는데 이를 인터페이스의 다형성이라고 한다.

1. 인터페이스의 자동 타입 변환

구현 객체가 인터페이스 타입으로 변환되면 자동 타입 변환에 해당된다.

인터페이스 변수 = 구현객체;

2. 인터페이스의 강제 타입 변환

구현클래스 변수 = (구현클래스) 인터페이스 변수

다형성

필드의 다형성

프로그램은 많은 객체들이 서로 연결되고 각자의 역할을 한다. 이 객체들은 서로 다른 객체로 교체될 수 있어야한다

->실행 도중에 어떤 객체를 필드로 저장하느냐에 따라 실행 결과가 달라질 수 있다

class Car {
	//필드
    Tier leftTire = new Tire();
    Tier rigthTier = new Tier();
}

Car 필드에는 2개의 Tier 타입 필드를 가지고 있다. Car 객체를 생성하면 2개의 Tier 필드에 각각 하나씩 Tire 객체가 들어가게 된다.

만약 타이어 교체가 필요할 경우

Car myCar = new Car();
myCar.leftTire = new HankookTire(); 
// 새로운 객체 HankookTire로 교체

Tire 타입인 leftTire는 원래 Tire 객체가 저장되어야 하지만 Tire의 자식 객체가 저장되어도 문제가 없다.

profile
자바공부해요흑흑

0개의 댓글

관련 채용 정보