인프런 커뮤니티 질문&답변

정준호님의 프로필 이미지
정준호

작성한 질문수

김영한의 실전 자바 - 기본편

super - 생성자

생성자가 2개이고 그중 하나가 다른 생성자를 포함하면 인스턴스 구조는 어떻게 되는거에요?

작성

·

343

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
안녕하세요. super 생성자 강의의 마지막 수업을 보고 질문드립니다. A라는 클래스 내부에 생성자가 2개가 있고, 그중하나의 생성자에서 다른 생성자를 호출하고 있는데요. 그럼 첫 번째 생성자가 호출되는 순간 인스턴스가 생성되는 것으로 알고 있는데 내부에서 다른 생성자를 호출하게되면 인스턴스 구조가 어떻게 되는건지 이해가 되지 않습니다.

이 경우 객체가 2개 만들어 지는 건가요?

답변 2

1

안녕하세요. 정준호님, 공식 서포터즈 OMG입니다.

인스턴스의 생성은 new 연산자를 호출할 때 생성이 되고, 생성자는 객체의 초기화를 담당합니다.

따라서 객체 인스턴스는 1개가 생성되는게 맞습니다.

 

생성자 오버로딩과 생성자에서 this()의 사용을 통해 코드의 중복을 줄일 수 있고, 다양한 방식으로 객체를 초기화할 수 있는 유연성이 생깁니다 😀

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

정준호님의 질문에 대한 답변 내용이 ‘여러 생성자가 있을 때, this()의 역할’이라는 제목의 답변 내용과 유사합니다.

해당 질문에서는 this()를 사용하여 다른 생성자를 호출하는 상황에 대해 설명하고 있으며, this()에 전달하는 파라미터에 따라 호출되는 생성자가 결정되는 방식에 대해 설명하고 있습니다. 이 내용을 통해 하나의 객체 내에서 다른 생성자를 호출하는 경우 객체의 구조에 대한 이해를 도울 수 있습니다.

자세한 내용은 아래 링크를 확인해주세요.

감사합니다.

정준호님의 프로필 이미지
정준호
질문자

전혀 다른 의도의 질문입니다... this() 생성자가 여러개 있을 경우 매개변수의 순서 또는 수로 특정한 하나의 생성자를 선택하여 만들어지는 것은 알고 있습니다. 질문의 요지는 생성자 X 안에서 다른 생성자 Y를 호출하였을 경우에 인스턴스가 2개가 만들어 지는 것인지입니다.

정준호님의 프로필 이미지
정준호

작성한 질문수

질문하기