프로젝트를 만들다보면, 필요에 따라 AllArgsConstructor, RequiredArgsConstructor, NoArgsConstructor를 보게된다. 이에 대해 머리를 한번 정리하고 가야할 필요가 있다고 생각이 들어서, 하나씩 정리를 해보려고 한다. @AllArgsConstructor 클래스의 모든 인스턴스를 가지는 생성자를 자동적으로 만들어주는 역할을 한다. @RequiredArgsConstructor AllArgsConstructor와 비슷하게 모든 인스턴스를 가지는 생성자를 자동적으로 만들어주지만, @NonNull과 같은 특별한 제약조건을 가지게 되며, 이러한 조건들을 지키기 않을 경우 Exception을 던진다. @NoArgsConstructor 변수 없는 생성자를 만들어준다. 그런데,..