⁂ Java/: 기본 익히기

[JAVA] #7-2 Override

김갱환 2022. 9. 14. 12:13

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

출력 화면