반응형
🚨 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("충전합니다.");
}
}
반응형
댓글