먹었으면 뇌를 쓰자
자바 기본 생성자, 인수 생성자는 같이 입력해야 한다 왜냐면... 본문
상황 : 다음과 같이 인수 생성자(arguments constructor)를 통해 입력을 받기로 한 객체들이 있다.

코드가 정상으로 작동하기 위해서는
인수 생성자뿐만이 아닌, "기본 생성자"를 함께 명시해야 한다.
변수도 받지 않고, 텅 빈 강정같이 속이 빈 생성자다.


그 이유는 무엇일까?
원래 기본 생성자는 클래스에 자동으로 배정된다.
Person.class와 Address.class 모두 눈에 보이지는 않지만
기본 생성자가 배정되어 있는 상태이다.
기본 생성자가 배정된 상태이므로
두 클래스를 복제한 new Person()과 new Address()를 만들 수 있는 것이다.
그런데 내가 인수 생성자를 만들었다.
이 행동으로 인해 기본 생성자가 사라져버린다.
웃기네...
그래서 인수 생성자를 만들 때는
사라져버린 기본 생성자를 다시 명시해줘야 한다.
참고한 글:
'Framework > JPA' 카테고리의 다른 글
Query dsl - Querying, Join, Paging 구현하기 (+query dsl 5.0.0 fetchResult count 쿼리 작성) (0) | 2022.11.29 |
---|---|
3초 만에 이해하는 @OneToMany 연관관계 헬퍼 메소드 쓰는 법 (0) | 2022.11.28 |
JPQL TypedQuery 화면 출력할 때 "이것" 꼭 해줘야 한다 (0) | 2022.11.28 |
자바에서 getter and setter 쓰는 이유 (0) | 2022.11.28 |
자바 헬퍼 메소드(Helpler method) 쉽게 이해하기 (0) | 2022.11.27 |