5. 인터페이스를 이용한 다형성
- 인터페이스를 구현한 클래스의 인스턴스를 인터페이스 타입의 참조변수로 참조할 수 있음
Ex)
Fightable f = (Fightable)new Fighter();
Fightable f = new Fighter();
- 인터페이스를 매개변수의 타입으로 사용하면 매개변수로 해당 인터페이스를 구현한 클래스 인스턴스를 넘겨줘야 함
- 리턴타입을 인터페이스 타입으로 선언하고 구현한 클래스를 반환해도 됨
Ex)
Fightable method() {
Fighter f = new Fighter();
return f;
}
6. 인터페이스의 장점
- 개발 시간을 단축시킬 수 있음
- 표준화가 가능
- 서로 관계없는 클래스들에게 관계를 맺어줄 수 있음
- 독립적인 프로그래밍이 가능함
인터페이스 이용시 클래스의 선언과 구현을 분리시킬 수 있기 때문
java의 정석 chapter7