본문 바로가기
카테고리 없음

이클립스(Eclipse) Implicit super constructor Object() is undefined for default constructor. Must define an explicit constructor 에러 해결

by sftt 2023. 11. 28.

이클립스(Eclipse) Implicit super constructor Object() is undefined for default constructor 에러 해결

이클립스에서 Implicit super constructor Object() is undefined for default constructor 에러가 발생하는 경우는, 클래스의 생성자를 명시적으로 정의하지 않았을 때 발생합니다. 이 에러를 해결하기 위해서는 다음과 같은 방법을 사용할 수 있습니다.

1. 생성자 정의하기

클래스에 생성자를 명시적으로 정의함으로써 Implicit super constructor Object() is undefined for default constructor 에러를 해결할 수 있습니다. 생성자는 클래스의 인스턴스를 만들 때 실행되는 메서드로, 클래스 내에 다음과 같이 정의됩니다.

public class MyClass {
    public MyClass() {
        // 생성자 코드 작성
    }
}

2. 부모 클래스 호출하기

기본 생성자에 대한 에러가 발생하는 이유는, 상속받은 클래스의 생성자에 접근할 수 없기 때문입니다. 이 경우, 이클립스는 자동으로 super() 메서드를 호출하는 기본 생성자를 생성합니다. 하지만, 명시적으로 상위 클래스의 생성자를 호출할 필요가 있는 경우에는 super() 대신 다른 생성자를 호출해야 합니다.

public class MyClass extends ParentClass {
    public MyClass() {
        super(parameter); // 상위 클래스의 생성자 호출
    }
}

3. 부모 클래스 생성자 오버로딩하기

만약 상위 클래스에 여러 개의 생성자가 존재하는 경우라면, 생성자 오버로딩을 통해 필요한 부모 클래스의 생성자를 호출할 수 있습니다.

public class ParentClass {
    public ParentClass() {
        // 기본 생성자
    }

    public ParentClass(int parameter) {
        // 다른 생성자
    }
}

public class MyClass extends ParentClass {
    public MyClass() {
        super(10); // 상위 클래스의 다른 생성자 호출
    }
}

앞서 소개한 방법을 통해 Implicit super constructor Object() is undefined for default constructor 에러를 해결할 수 있습니다. 이를 통해 이클립스에서 발생하는 주요 에러 중 하나를 해결할 수 있게 되었습니다.

댓글