Error Note

[Error Note] 19. 추상 메서드(상속) 오류: The type must implement the inherited abstract method

Song hyun 2024. 4. 30. 16:17
728x90
반응형

[Error Note] 19. 추상 메서드(상속) 오류: 

The type must implement the inherited abstract method

 

함께 보면 좋을 글: 추상 클래스

https://whatsthatsound.tistory.com/92

 

[Java] 46. 추상 클래스

[Java] 46. 추상 클래스1. 추상 클래스(Abstract Class)란? -> 하나 이상의 추상 메서드를 포함하고 있는 클래스이다. ->추상 클래스는 구현이 없는(메서드 몸체가 없는) 메서드이며,  추상

whatsthatsound.tistory.com


 

 

여기에 클래스 Animal과 Human이 있다.

Animal의 지역 변수/메서드를 간편하게 쓰기 위해, Human 클래스에 상속을 하던 중 에러가 발생했다.

에러가 발생한 부분을 보면, Human 클래스 선언 부분에서 발생했음을 쉽게 알 수 있다.

 

에러 메세지는 다음과 같다.

해당 클래스는 추상 메서드/클래스로 정의되어야 한다는 뜻이다.

 

왜 이런 메세지가 출력되었을까?

The type must implement the inherited abstract method

 

 

클래스 Animal은 추상(Abstract) 클래스이다.

추상 클래스를 상속받기 위해서는 두 가지 조건 중 하나를 충족해야 한다.

 

(1) 상속받는 자녀 클래스 역시 추상화 시키거나,

(2) 해당 부모 클래스의 메서드를 자녀 클래스 내부에서 오버라이딩 하는 것이다.

 

아래의 사진을 보자.

Animal 클래스를 상속받는 Human 클래스를 추상화하고 있으며, 오류가 사라진 것을 확인할 수 있다.

위의 두 가지 방식 중에서, 작성하려는 코드에 더욱 적합한 방식을 고르면 쉽게 고칠 수 있는 오류이다.

728x90
반응형