카테고리 없음
[java] instanceof vs isAssignableFrom
냐옴
2021. 10. 7. 14:45
Test 코드
@Test
void instanceof_test() {
Board board = new Board();
NewsBoard newsBoard = new NewsBoard();
assertThat(board instanceof Board).isTrue(); // true
assertThat(board instanceof NewsBoard).isFalse(); // false
assertThat(newsBoard instanceof Board).isTrue(); // true
assertThat(newsBoard instanceof NewsBoard).isTrue(); // true
}
@Test
void isAssignableFrom_test() {
Board board = new Board();
NewsBoard newsBoard = new NewsBoard();
assertThat(Board.class.isAssignableFrom(board.getClass())).isTrue(); // true
assertThat(NewsBoard.class.isAssignableFrom(board.getClass())).isFalse(); // false
assertThat(Board.class.isAssignableFrom(newsBoard.getClass())).isTrue(); // true
assertThat(NewsBoard.class.isAssignableFrom(newsBoard.getClass())).isTrue(); // true
}
Board.java
public class Board {
}
NewsBoard.java
public class NewsBoard extends Board {
}