본문 바로가기

Programming/JAVA

자바, instanceof 연산자

 

인스턴스(instance)는 클래스를 통해 만들어진 객체이다.

instanceof 연산자는 객체가 만들어진 특정 클래스의 인스턴스인지 확인하는 연산자이다.

객체_참조_변수 instanceof 클래스명

 

 

instanceof는 객체 참조 변수의 타입이 아닌 실제 객체 타입에 의해 처리한다. 고로 아래와 같이 코드를 변경하여도 결과는 동일하다.

 

 

 

중요한 사실이 있다. instanceof는 LSP을 위반하는 코드에서 주로 나타나는 연산자이기에 리팩터링 대상이 아닌지 점검해봐야 한다.

리스코프 치환 원칙(LSP)
베이스 클래스가 서브 클래스로 치환 되어도 동일한 동작을 보장해야 한다는 원칙

 

 

'Programming > JAVA' 카테고리의 다른 글

자바, this 키워드  (0) 2021.04.04
자바, interface 키워드와 implements 키워드  (0) 2021.04.04
자바, final 키워드  (0) 2021.04.04
자바의 static 블록  (0) 2021.03.31
자바의 생성자(Constructor) : new  (0) 2021.03.31