해결된 질문
작성
·
72
답변 2
0
안녕하세요. 손기민님, 공식 서포터즈 코즈위버입니다.
말씀히신 것처럼 this("", ""); 로 호출하여도 문제 없습니다. 만약 이와 같이 될 경우
생성자는 아래와 같은 순서로 호출됩니다.
Book() -> Book(String, string) -> Book(String, String, int)
이는 자바 문법상 아무 문제가 없는 코드 입니다.
감사합니다.
0
이렇게 바꾸면 똑같이 증복 아닌가요?
book() 에 아무것도 없는 것에서,
2개의 인자 값이 넘어가는것을 호출(2번째 생성자)한다음 여기에 값을 "",""을 넣고,
또 다음에 3개의 인자의 값을 받아, 넘기는 함수를 호출(3번째 생성자) 하는데,
여기에서 "" <-아무것도 없는 빈 공백 값이 증복이 된다고 생각하는데, 손기민님의 생각은 어떠신지요?
죄송합니다. 저가 좀 잘못설명한것 같습니다.
Book1의 내용을 this(“”,””) 으로 바꾸면 book2 생성자를 호출하고, 그 안의 내용에 또 빈 공백(“”)이 들어가고, book3의 생성자를 호출해서 증복이(내용도 증복,호출도 증복)되는것 이라고 말했던 것 입니다.
book1의 내용을 아무것도 안쓰고 할려면, 저의 생각에는 생성자 밖에 있는 값들(title, page) 에 값을 넣으면 될것 같습니다. String title = “”;
혹시 저가 님의 의도를 잘못 이해하고 말해 주시면 감사하겠습니다.
추가1
그리고 저도 공부하는 사람이라서 틀릴수도 있다는것을 알아두었으면 합니다..
book1, book2, book3때문에 생성자가 최소 세 개는 있어야되는 상황이라서 여기서 중복을 더 제거할 수 없다고 생각합니다
또한 영상에서 나왔듯이 ""라는 빈 공백 값이 없으면 null이 뜨기 때문에 필요한 것 같습니다