Intro JPA에서 엔티티는 반드시 public 또는 protected인 기본 생성자를 가져야 한다. 이 것이 가능한 이유는 자바에서 제공하는 리플렉션 API(reflection API)를 활용하여 동적으로 객체를 생성하기 때문이다. 만약, 기본 생성자가 없거나, private인 경우 리플랙션 API는 객체를 생성할 수 없게 된다. Java Reflection API Java Reflection API는 구체적인 클래스 타입을 알지 못하더라도 해당 클래스 이름을 통해 메서드, 타입, 변수 등에 접근할 수 있도록 해주는 API이다. Reflection을 활용하여 런타임 시점에 동적으로 클래스 객체를 생성할 수 있다. 일반적으로 객체에 데이터를 넣기 위해서는 new 생성자 또는 setter 등이 필요하며,..