본문 바로가기
JAVA/개념정리

[JAVA] 추상(abstract) 클래스와 오버라이딩

by JJH0100 2022. 10. 13.
728x90
반응형

추상 클래스와 추상 메소드의 오버라이딩을 이용하면 더욱 효율적인 다형성을 구현할 수 있다

 

 

abstract class Figure{
	abstract void draw();
}
class Triangle2 extends Figure{
	@Override
	void draw() {
		System.out.println("다형성 : 삼각형을 그린다.");		
	}	
}
class Rectang2 extends Figure{
	@Override
	void draw() {
		System.out.println("다형성 : 사각형을 그린다.");		
	}	
}
class Oval2 extends Figure{
	@Override
	void draw() {
		System.out.println("다형성 : 타원형을 그린다.");		
	}	
	
}
class Polydraw{
	public void pdraw(Figure f) {
		f.draw();
	}
}
public class AbstractTest2 {
	public static void main(String[] args) {
		Polydraw p = new Polydraw();
		Triangle2 fg1 = new Triangle2();
		Rectang2 fg2 = new Rectang2();
		Oval2 fg3 = new Oval2();
		p.pdraw(fg1);
		p.pdraw(fg2);
		p.pdraw(fg3);
	}
}

다음과 같이 pdraw의 매개변수를 Figure 객체로 설정해주면 일일히 모든 클래스를 설정해 줄 필요 없이 한번에 설정할 수 있다.

 

 

결과

 

728x90
반응형

'JAVA > 개념정리' 카테고리의 다른 글

[JAVA] Swing의 JFrame  (0) 2022.10.13
[JAVA] AWT와 Swing  (0) 2022.10.13
[JAVA] 추상화 abstract  (0) 2022.10.13
[JAVA] 다형성  (0) 2022.10.13
[JAVA] Object 클래스  (0) 2022.10.12

댓글