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 |
댓글