instanceof 연산자는 runtime에 객체의 실제 타입을 확인하기 위한 연산자이다. instanceof 연산자를 사용하면서 compile error가 나는 경우를 정리해본다. 기본적으로 컴파일러는 클래스에 대한 정보만 관리한다. interface MyInterface{} class SuperClass{} class SubClass extends SuperClass{} class Some{} A instanceof B를 사용할 때 1. A와 B가 모두 클래스일 경우 A는 반드시 B의 조상 클래스 타입이어야 한다. // String은 Number의 하위 타입이 아니므로 오류 boolean b1 = "Hello" instanceof Number; // SubClass는 Some 타입이 아니므로 오류 b..
instanceof Class vs instanceof Interface
instanceof 연산자는 runtime에 객체의 실제 타입을 확인하기 위한 연산자이다. instanceof 연산자를 사용하면서 compile error가 나는 경우를 정리해본다. 기본적으로 컴파일러는 클래스에 대한 정보만 관리한다. interface MyInterface{} class SuperClass{} class SubClass extends SuperClass{} class Some{} A instanceof B를 사용할 때 1. A와 B가 모두 클래스일 경우 A는 반드시 B의 조상 클래스 타입이어야 한다. // String은 Number의 하위 타입이 아니므로 오류 boolean b1 = "Hello" instanceof Number; // SubClass는 Some 타입이 아니므로 오류 b..
2019.08.01