자바의 정석 - 인터페이스 장점2

Yohan·2024년 1월 29일
0
  • 개발 시간을 단축할 수 있다.
  • 변경에 유리한 유연한 설계가 가능하다.
  • 표준화가 가능하다. (JDBC - 자바에서 정해놓은 인터페이스 집합, 내용만 바꿔서 사용가능. 즉 표준화 시켜놓음)
  • 서로 관계없는 클래스들을 관계를 맺어줄 수 있다.
    • Unit > GroundUnit > Marine, SCV, Tank
    • Unit > AirUnit > Dropship
    • SCV, Tank, Dropship을 공통으로 묶어내고 싶다! -> 인터페이스 활용
    • Repairable > SCV, Tank, Dropship
  • 인터페이스(Repairable)를 통해 구현
interface Repairable { }
class SCV extends GroundUnit implements Repairable {
	//...
}

class Tank extends GroundUnit implements Repairable {
	//...
}

class Dropship extends AirUnit implements Repairable {
	//...
}
void repair (Repairable r) { // Repairable 인터페이스를 구현한 것들만 사용 가능
	if (r instanceof Unit) {
    	Unit u = (Unit)r;
        while(u.hitPoint!=u.MAX.HP) {
        	u.hitPoint++;
        }
    }
}
profile
백엔드 개발자

0개의 댓글