자바 제네릭을 보면서, 공변과 반공변의 이야기가 나왔다. 결론적으로 내가 이해 하기론공변은 을 하면 List를 받을시에 하위타입까지 읽을수 있게 처리를 할수 있고 반공변은 을 하면 본인 타입 포합 상위타입을 참조할수 있다고 이해하였다. 먼저 해당 상속간의 클래스 코드들입니다. class User { public void good() { System.out.println("User Good"); } } class A extends User { @Override public void good() { System.out.println("1111"); } } class B ex..