반응형
interface Car{ } class Sports implements Car{ public void speedup(){ System.out.println("speeeeeeed up!"); } } class Shitty implements Car{ public void shit(){ System.out.println("shiiiiiit!"); } } public class MyClass { public static void main(String args[]) { Car c = new Sports(); boolean check = c instanceof Sports; System.out.println(check); // true c.speedup(); //Error ((Sports)c).speedup(); // speeeeeeed up! } }
instanceof 결과가 True가 나오더라도
그 타입의 멤버에 접근하려면 타입캐스팅을 해주어야 한다.
Car 클래스에 추상 메소드로 speedup()을 선언해주고
Sports, Shitty 클래스에 각각 speedup 메소드를 구현해주면
c.speedup()이 동작하긴 한다.
제너릭으로 해결할 수 있는 방법이 있을까?