0%

interface다형성

인터페이스를 이용한 다형성

  • 인스턴스도 구현 클래스의 부모로 봄
  • 인터페이스 타입 매개변수는 인터페이스 구현한 클래스의 객체만 가능
1
class Fighter extends Unit implements Fightable {
2
  public void move(int x, int y) { /* 내용 생략 */}
3
  public void attack(Fightable f) { /* 내용 생략 */}
4
}
5
// 인터페이스의 구현부는 비어있기 때문에 충돌x
6
7
Unit u = new Fighter();
8
Fighter f = new Fighter();
  • 인터페이스를 메서드의 리턴타입으로 지정할 수 있음
1
Fighter method(){
2
  ...
3
  Fighter f = new Fighter();
4
  return f;
5
}