강의

멘토링

로드맵

Inflearn brand logo image

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

Bobok님의 프로필 이미지
Bobok

작성한 질문수

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

Hiding (정적 메서드, 멤버 변수) v2

생성자가 없는거 아닌가요?

해결된 질문

작성

·

43

0

처음 코드에서 new c(); 했는데 class c에도 class p 에도 생성자가 없어서 에러나는거 아닌가요..?

답변 2

0

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

안녕하세요,

기본 생성자가 없을 때는 Java 언어가 실행하면서 암시적으로 만들어 줍니다.

아무 일도 일어나지 않는 생성자가 실행되긴 합니다.

 

정상적으로 동작합니다.

0

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

질문해 주신 내용은 Java의 기본 생성자와 관련된 문제로 보입니다. 부모와 자식 클래스 간의 상속 관계에서 생성자 호출에 대한 이해가 필요합니다.

먼저, Java에서 클래스의 생성자를 따로 정의하지 않았을 경우, Java 컴파일러는 자동으로 기본 생성자(default constructor)를 제공합니다. 따라서 class Cclass P에 명시적으로 생성자가 없다 하더라도 컴파일러는 문제없이 기본 생성자를 추가하게 됩니다. 이 때문에 new C(); 코드를 사용할 때 에러가 발생하지 않게 됩니다.

더 상세한 설명을 원하시면 다음의 유사한 질문과 답변을 참고해주세요:

  1. Java 언어의 생성자 기본 동작 및 규칙
  2. 업캐스팅과 생성자 호출 순서에 대한 설명

이 두 링크에서 각 생성자의 기본 동작과 자식 클래스의 객체 생성 과정에서 발생하는 부모 클래스의 생성자 호출에 대해 자세히 설명한 답변을 확인하실 수 있습니다.

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

Bobok님의 프로필 이미지
Bobok

작성한 질문수

질문하기