super 와 extends는 반대의 의미이다.
<? super T>
- 상속관계에 존재하는 클래스만 자료형으로 받는다는 의미
- T : 자식 클래스로 자식 클래스와 연관이 있는 부모클래스는 전부 적용된다는 의미
<? extends T>
- 상속관계로 이루어진 클래스만 자료형으로 받는다는 의미
- ? : (자식 클래스) / T : (부모 클래스)로 부모 클래스와 자식 클래스의 임의의 자료형만 적용된다는 의미
super는 상위 클래스만 extends는 하위 클래스만 적용이 된다는 소리다.
ex) Integer의 상위 클래스는 Number , Number 위에 Object 이다.
super Integer 라고 하면 Integer / Number / Object가 된다는 것이고
ex) Animals 에는 cat / dog / etc .. 이 있다.
extends Animals 라고 하면 cat / dog ... 이 된다는 것이다.
'java' 카테고리의 다른 글
기본 정리 (0) | 2023.01.14 |
---|---|
com.fasterxml.jackson.databind.exc.InvalidDefinitionException (0) | 2023.01.06 |
JVM (0) | 2023.01.06 |