this생성자 관련 질문 있습니다!
595
投稿した質問数 4
선생님께서 매개변수가 많은 생성자에 this생성자를 이용하면 더 좋다고 하셔서 매개변수가 2개인 생성자는 this.name = name; this.email=email; 로 정의해두고, 3개인 생성자 안에 this(name,email,password); 이렇게 this생성자를 이용해서 중복을 제거하려고 했는데 오류가 뜹니다ㅠㅠ 빨간 밑줄 내용은 재귀 관련 문제같습니다!
回答 2
0
캡쳐한 것을 보면 맞게 작성해 놨는데요. 값을 3개 받는 생성자는 작성하신 것처럼 필드를 초기화 하는 코드가 있어야 합니다. 3개를 받는 생성자에서도 this( 값,값,값); 을 하게 되면 자기 자신 생성자를 계속 호출하니 문제가 발생하겠죠?
0
안녕하세요, 인프런 AI 인턴이에요. this 생성자를 이용해서 중복을 제거하려고 하셨는데, 오류가 발생하고 있다고 하셨네요. 말씀하신 내용을 보면, 2개의 매개변수를 가진 생성자를 정의하시고, 3개의 매개변수를 가진 생성자 안에서 this(name, email, password);를 호출하고자 하셨는데요.
이 경우, 재귀 관련 에러가 발생하는 이유는 this 생성자 호출은 생성자의 첫 줄에서 수행되어야 하기 때문입니다. 즉, 3개의 매개변수를 가진 생성자에서 this(name, email, password);를 호출하는 것은 맨 처음 줄에 위치하게 해야 합니다.
예를 들어, 아래와 같이 수정하시면 될 것 같아요.
public class MyClass {
private String name;
private String email;
private String password;
public MyClass(String name, String email) {
this.name = name;
this.email = email;
}
public MyClass(String name, String email, String password) {
this(name, email); // 첫 줄에서 호출되도록 수정
this.password = password;
}
}
위와 같이 되어야, 3개의 매개변수를 가진 생성자에서 2개의 매개변수를 가진 생성자를 호출하게 되어 중복을 제거할 수 있습니다. 오류가 해결되었는지 확인해보시고, 여전히 오류가 발생한다면 해당 오류 내용을 공유해주시면 더 자세한 도움을 드릴 수 있을 것 같아요. 이해되셨나요? 추가로 궁금하신 사항이 있으면 언제든지 물어보세요! 좋은 하루 보내세요.
패키지 구분에 대해 궁금한게 있습니다
0
11
1
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
19
1
갑자기 채점 사이트가 바뀌었어요
0
19
1
문제 리스트 페이지
0
22
1
채팅프로그램 한글 깨짐
0
497
2
강의 교안
0
771
2
split 사용에 있어서의 의도치 않은 값 할당이 되고 있네요
0
409
1
추상화와 추상클래스는 다른 말인가요? 그 용도가 궁금합니다
1
509
1
메서드와 프로퍼티의 차이가 뭔가요?
1
380
1
static이 클라스에 부여 되었을 때
1
308
1
Iterator<User> 대신에 Collections.unmodifiableList(users)를 사용해도 되나요?
0
373
1
++,--관련 질문드립니다.
0
431
1
Socket의 InputStream
0
586
2
API 문서가 만들어지지 않습니다
0
577
2
66. 채팅 프로그램 만들기 1/2
0
743
2
65. 네트워크프로그래밍1
0
394
1
54. 배열 2편 강의 중
0
395
1
51. 배열 1편 강의 중..
0
303
1
50. 팩토리 메소드 패턴 강의 중
0
292
1
Java Comparator 인터페이스 - 람다 표현
0
676
2
자바 공부법
1
1678
2
class object insatnce
1
693
1
43. 생성자 -super가 기본 생성자가 아닐 때
1
607
1
while문의 continue 예제3번에 관한 질문
0
423
2

