본문 바로가기
JAVA & Spring/Error

[Java] method does not override or implement a method from a supertype 오류 해결 방법

by 알기 쉬운 코딩 사전 2024. 11. 21.
반응형

🚨 Java 실행시 발생한 에러 메시지

java: method does not override or implement a method from a supertype

 

 에러 발생 이유

Override를 사용하지만 부모 Class에 해당 메서드가 존재하지 않을때 나타나는 오류 메시지입니다.

예를들어 부모 Class에서는 move() 메서드가 존재하며,
자식 Class에서는 Override를 사용하여 move() 메서드를 재정의 하여 사용하려 하였지만,
moveee() 이런식으로 오타를 낼 경우에 발생하는 에러 메시지입니다.

아래 설명문과 소스코드를 참고해 주세요.

 

Car.java

public class Car {
    public void move() {
        System.out.println("차를 이동합니다.");
    }

    public void openDoor() {
        System.out.println("문을 엽니다.");
    }
}

 

ElectricCar.java

public class ElectricCar extends Car {
    @Override
    public void moveee() { // 에러 발생
        System.out.println("전기차를 빠르게 이동합니다.");
    }
    public void charge() {
        System.out.println("충전합니다.");
    }
}

 

✅  해결 방법

Override 메서드 명을 부모 Class에 맞게 통일시켜줍니다.

즉, moveee() 메서드를 move() 메서드로 수정합니다.
아래 소스코드를 참고해 주세요.

 

Car.java

public class Car {
    public void move() {
        System.out.println("차를 이동합니다.");
    }

    public void openDoor() {
        System.out.println("문을 엽니다.");
    }
}

 

수정 된 ElectricCar.java

public class ElectricCar extends Car {
    @Override
    public void move() { // 에러 발생
        System.out.println("전기차를 빠르게 이동합니다.");
    }
    public void charge() {
        System.out.println("충전합니다.");
    }
}
반응형

댓글