Programming-[Backend]/Java

[링크] isAssignableFrom 과 instanceof의 차이

컴퓨터 탐험가 찰리 2022. 3. 3. 09:26
728x90
반응형

1. 문법 차이

 

s instanceof String

s.getClass().isAssignableFrom(String.class)

 

 

2. 확인 시점 차이

 

instanceof 은 컴파일 시점에 타입 체크

isAssignableFrom은 런타임 시점에 불특정한 클래스에 대한 타입 체크

 

다시 말해 instanceof 쓰면 쓰는 순간 IDE에서 바로 잡아냄, isAssignableFrom은 프로그램 실행하고 실제 해당 구문이 실행될 때 클래스 타입을 확인함

 

 

3. null Safe 차이

 

null instanceof {어떤 클래스} 는 false 반환

{어떤 클래스}.class.isAssignableFrom(null)은 NullPointerException 반환

 


 

참조

 

 

https://blog.naver.com/PostView.nhn?blogId=rbtjqtjql&logNo=221025187174&parentCategoryNo=&categoryNo=16&viewDate=&isShowPopularPosts=false&from=postView

728x90
반응형