Language/Java

overriding 오버라이딩

원2 2021. 3. 24. 15:05
728x90
반응형

같음 메소드 이름이라도 덮어쓰기가 가능하다.

// overriding 오버라이딩 : 조상클래스로 부터 메서드의 내용을 변경하는 것.
// overriding : 덮어쓰다.
class Instrument {
	void play() {
		System.out.println("연주하다");
	}
}
class Flute extends Instrument {
	void play() { //method overriding
		System.out.println("플룻을 연주하다");   // overriding : 조상것이 호출이 안됌
	}
}
class Violin extends Instrument {
	void play() {
		System.out.println("바이올린을 연주하다"); // overriding : 조상것이 호출이 안됌
	}
}
class Piano extends Instrument {
	void play() {
		System.out.println("피아노를 연주하다");  // overriding : 조상것이 호출이 안됌
	}
}
public class Test007 {

	public static void main(String[] args) {
		Flute  aFlute   = new Flute();
		Violin aViolin  = new Violin();
		Piano  aPiano   = new Piano();
		aFlute.play();
		aViolin.play();
		aPiano.play();
		
	}

}
728x90
반응형