ببینید خیلی جاها این دو واژه با یک معنی استفاده می شه ولی یک تفاوت ظریف در میان هست. و اون هم در static بودن یا نبودن اون کلاس داخلی است.
به طور کلی همه کلاسهایی که داخل یک کلاس دیگر تعریف بشوند nested-class نامیده می شوند. ولی آن nested-class ای که static نباشد inner-class هم نامیده می شود. زیرا تنها از طریق نمونه ای از کلاس پدر قابل دسترسی است.