인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

민혁님의 프로필 이미지

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

Java언어 기출문제의 변형

17분05초 업캐스팅과 출력 순서에서

해결된 질문

작성

·

53

0

X y = new Y();

여기서 태어날때 생성자가 없어서 무시해도 된다는게 생성자가 있는지 없는지 보는 기준 모르겠어요 헷갈려서 ..

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요, 생성자의 정의를 다시 학습하셔야 할 듯 합니다.

생성자는 클래스명과 같은 이름의 메서드입니다.

 

지금 클래스의 이름은 Y입니다. 그러면 Y라는 이름의 메서드가 있어야 합니다. (예시: public Y();)

지금은 없습니다. 그래서 생성자가 없다고 하는 것입니다.

 

이 부분은 클래스를 처음 배우는 영상에 있습니다. 꼭 다시 복습하셔야 합니다.

0

인프런 AI 인턴님의 프로필 이미지

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

생성자와 관련된 질문에 대해 간략히 설명드리겠습니다. 객체를 생성할 때 생성자는 매우 중요한 역할을 하며, 생성자가 있는지 여부는 클래스에 따라서 다르게 해석될 수 있습니다.

생성자의 유무 판별 기준

  1. 기본 생성자(Default Constructor): 클래스에 생성자가 명시적으로 정의되지 않은 경우, Java는 기본 생성자를 자동으로 제공합니다. 이러한 생성자는 매개변수가 없으며, 객체를 초기화하는 기본적인 역할을 합니다.

  2. 사용자 정의 생성자: 클래스에 하나 이상의 생성자가 명시적으로 정의되어 있는지 확인해야 합니다. 만약 하나라도 있다면, Java는 더 이상 기본 생성자를 자동으로 제공하지 않습니다.

예시 설명

class Y {
    // 명시적인 생성자가 없는 경우
}

// 자동으로 아래와 같은 기본 생성자가 제공됨
// public Y() {}
class Y {
    public Y(int value) {
        // 사용자 정의 생성자
    }
}

// 사용자 정의 생성자가 있으므로
// 기본 생성자가 자동으로 제공되지 않습니다.

참고 링크

생성자와 관련된 자세한 설명은 다음의 게시물을 참고해 보면 도움이 될 수 있습니다:
- 자바 상속 관련 질문있습니다.
- 3분02초 상속부분 다시 공부하다가 멘탈이 터졌습니다.

위 설명이 이해에 도움이 되기를 바라며, 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요. 학습하시면서 다른 질문이 생기신다면 추가적으로 문의 주시면 감사하겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

민혁님의 프로필 이미지

작성한 질문수

질문하기