[Java] 5.1.2 메서드 재정의(override)

출간일 2016년 11월 28일

판매가 2000원

형태 ebook

학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.

언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.


5.1.2 메서드 재정의(override)

상속은 비슷한 형식의 공통적인 부분을 기반 형식으로 정의하고 이를 파생하여 다른 부분을 추가하거나 변경하는 문법입니다.

 

만약 기반 형식을 정의할 때 제공할 메서드는 공통적으로 정의할 수 있지만 메서드 내부에 정의할 구체적 알고리즘이 다를 때는 어떻게 해야 할까요? 이를 위해 OOP 언어에서는 재정의에 관한 문법을 제공하고 있습니다.

 

재정의란 기반 형식에 정의한 메서드를 파생 형식에서 구체적 행위를 다르게 정의하는 문법으로 파생 클래스에서 재정의할 메서드 앞에 @Override 키워드를 명시하여 정의합니다. 이렇게 파생 클래스에서 기반 형식의 메서드를 재정의하면 기반 형식에 정의한 메서드 이름은 무효화합니다.

[소스 5.3] 파생 클래스에서 기반 형식의 play 메서드를 재정의하는 예

실행 결과

 

만약 파생 형식에서 무효화한 기반 형식의 메서드를 호출하고자 한다면 super 키워드를 이용하여 사용합니다.

[소스 5.4] 파생 클래스에서 무효화한 기반 클래스의 메서드 사용하는 예

실행 결과