1. Override란?
오버라이드, 리폼하는 것이다.
상속관계에서 물려받은 메소드를 다시 수정한다는 뜻이다.
그래서 함수를 재정의한다고도 불린다.
이제 Override하는 방법을 함께 알아보자.
우선 클래스를 세 개 만든 뒤 작업해보고자 한다.
1) Korea 클래스
class Korea{
String name="대한민국";
final void view() {
System.out.println("Korea.view()...");
} // view() end
void disp() {
System.out.println("Korea.disp()..." + name);
} // disp() end
} // class end
2) Seoul 클래스(Korea 클래스를 그대로 상속)
class Seoul extends Korea{} // class end
3) Busan 클래스(Korea 클래스를 상속한 뒤 오버라이드)
class Busan extends Korea{
String name="부산광역시";
@Override // <- annotation
void disp() {
System.out.println("Busan.disp()..." + name);
} // disp() end
/*
@Override // <- annotation
void view() {} // final 메소드는 오버라이드가 불가능하다
*/
} // class end
- Korea 클래스의 disp() 함수를 가져온 뒤 오버라이드를 하여 출력 내용을 변경하였다.
2. Override 출력 결과
public class Test04_override {
public static void main(String[] args) {
// Method Override 함수 재정의
// -> 상속관게에서 물려받은 메소드를 다시 수정(리폼)
// 1) 오버라이드 하기 전
Seoul se = new Seoul();
se.disp();
se.view();
// 2) 오버라이드 한 후
Busan bu = new Busan();
bu.disp();
bu.view(); // final 메소드는 상속은 가능하지만 오버라이드는 할 수 없다
} // main() end
} // class end
'⁂ Java > : 기본 익히기' 카테고리의 다른 글
[JAVA] #8-1 Super (0) | 2022.09.15 |
---|---|
[JAVA] #7-3 Object와 toString() (0) | 2022.09.14 |
[JAVA] #7-1 상속(Inheritance) (0) | 2022.09.14 |
[JAVA] #6-5 자바의 날짜 관련 함수(GregorianCalendar, Calendar, Date) (0) | 2022.09.14 |
[JAVA] #6-4 Wrapper Class (0) | 2022.09.14 |