Member에서 타고 들어가는 생성자에 관한 질문
@Entity
@Getter @Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@ToString(of = {"id", "username", "age"})
public class Member {
@Id @GeneratedValue
private Long id;
private String username;
private int age;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TEAM_ID")
private Team team;
public Member(String username) {
this(username, 0);
}
public Member(String username, int age) {
this(username, age, null);
}
public Member(String username, int age, Team team) {
this.username = username;
this.age = age;
if (team != null) {
changeTeam(team);
}
}
에서
public Member(String username) {
this(username, 0);
}
을 보면,
public Member(String username) {
this(username, 0, null);
}
이 아니라
public Member(String username) {
this(username, 0);
}
을 사용한 이유는 가독성 때문인가요 ?
답변 1
2
안녕하세요. relate16님, 공식 서포터즈 David입니다.
.
생성자의 파라미터로 넘겨줄 team이 없는 점, team 없이도 Member를 생성할 수 있는 생성자가 있는 점 때문에 this(username, 0) 생성자를 호출한 것입니다.
만약 username, age, team을 받는 생성자만 있었다면 그것을 사용했을테지만 그게 아니라 더 적합한 생성자가 있기 때문입니다.
.
감사합니다.
0
음... 좀 잘 이해가 안돼서 질문 더드려요 ㅠㅠ
public Member(String username) {
this(username, 0);
}
이렇게 하면
public Member(String username, int age) {
this(username, age, null);
}
여기도 타야되고
여기를 타게 되면 또
public Member(String username, int age, Team team) {
this.username = username;
this.age = age;
if (team != null) {
changeTeam(team);
}
}
여기까지 타야돼서 2번을 거쳐야 되는 건데,
어차피 결과적으로
변수로 username을 넘기고 고정으로 age는 0, team을 null로 넘길 거라면
public Member(String username) {
this(username, 0, null);
}
이렇게 해서
public Member(String username, int age, Team team) {
this.username = username;
this.age = age;
if (team != null) {
changeTeam(team);
}
}
한 번에 여기로 올 수 있게 하면 더 좋은 게 아닌가 싶은 생각인데
음.. 뭘 잘못알고 있을까요 ? :[
0
취사선택의 문제입니다.
null을 쓰지 않는 생성자를 호출할 것인가.
아니면 null을 써서 생성자를 호출할 것인가.
저라면 굳이 team에 null을 추가로 넘기지 않고 username, age만 넘겨줘도 생성되는 생성자를 생성할 것 같습니다.
join에대해 질문드립니다.
0
11
1
SpringBoot 4.X에서의 Querydsl 설정
0
158
2
querydsl 오픈소스에 대한 질문
1
101
1
예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?
0
127
1
Querydsl 6.X버전에 대해서 어떻게 생각하시나요?
0
349
2
여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요
1
86
1
fetchResults()는 더이상 권장되지 않는다는데 맞나요?
0
172
1
querydsl sum() 메서드 없어요.
0
169
2
build 디렉터리 생성
0
152
2
자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?
0
123
2
현재 Querydsl에서 from절 서브쿼리를 지원하나요?
0
99
1
오타 제보 드립니다.
0
79
2
벌크 연산과 flush, clear
0
85
1
Run As Intellij 로 변경시 Q타입 import 불가
0
95
1
QHello import하기 문제 발생
0
157
2
등록된 함수 보는법(H2Dialect) 질문
0
76
2
5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의
1
209
2
[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??
1
213
1
querydsl 설정 문제
0
228
2
quey dsl 설정부분
0
168
2
count 쿼리 관련 질문입니다!
0
79
1
stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.
0
98
1
답변부탁드리겠습니다.
0
95
2
(OrderSpecifier)관련 내용 어디있을가요
0
68
1





