int a = 1; // OK
Integer b = new Integer(1); // OK

여기까진 좋음

int c = new Integer(1); // OK
Integer d = 1; // OK

???

어떻게 캐스팅도 하지 않고 클래스 Integer가 기본형 int로 바로 변환되고 그 반대도 되는거야?

예를들어서 int e = new String(1);은 안 되잖아