# 다형성 쿼리

![](https://389280719-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxjHkZu4T9MzJ5fEMNe%2Fsync%2Faaac9685ebab6cf7af5b08169c5339fad95090bd.png?generation=1621762375070134\&alt=media)

다형적으로 설계한 경우 특수한 기능을 사용할 수 있다.

## 조회 대상을 특정 자식으로 한정하기

![](https://389280719-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxjHkZu4T9MzJ5fEMNe%2Fsync%2F0f5f05c30047b717f9176bd9d2d8686086b04797.png?generation=1621762373103461\&alt=media)

* type()
  * DTYPE으로 특정 자식을 조회할 때 사용한다.

## TREAT

![](https://389280719-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxjHkZu4T9MzJ5fEMNe%2Fsync%2F91a2b3c117b7d4107f71e83f56ed67965b54b9bf.png?generation=1621762374166507\&alt=media)

* 자식의 타입으로 불러온다.
  * 자바의 다운 캐스팅과 유사하다.
* 상속 구조에서 부모 타입을 특정 자식 타입으로 다룰 때 사용한다.
* FROM, WHERE, SELECT(하이버네이트)에 사용한다.
