java공부하기94
추상클래스의 사용 이유
- 클래스의 구조를 디자인하기 위함
: 작업을 수평적으로 분할
: 레벨 단위의 구조로 만듦
추상클래스의 사용
abstract class Shape
{
public abstract void draw();
public abstract void delete();
public void doAll()
{
draw();
delete();
}
}
class Circle extends Shape{
public void draw() {
System.out.println("원을 그립니다.");
}
public void delete() {
System.out.println("원을 지웁니다");
}
}
class Triangle extends Shape {
public void draw() {
System.out.println("삼각형을 하나, 둘, 셋, 그립니다.");
}
public void delete() {
System.out.println("삼각형을 지웁니다");
}
}
class Rectangle extends Shape {
public void draw() {
System.out.println("사각형을 원, 투, 쓰리, 포 그립니다.");
}
public vlid delete() {
System.out.println("사각형을 지웁니다");
}
}
//abstract을 테스트하기 위한 클래스
public class FigureTest {
public static void main(String[] args) {
Circle c = new Circle();
Triangle t = new Triangle();
Rectangle r = new Rectangle();
Shape s;
s= c; // 에러발생 안함. C의 클래스 Circle은 s의 서브타입임
s.draw(); // s은 draw라는 메소드를 가진 타입임
s.doAll();
c.draw();
t.draw();
r.draw();
c.delete();
t.delete();
r.delete();
}
}
'자바 > JAVA...Spring' 카테고리의 다른 글
JAVA공부하기 96. 추상클래스 (0) | 2015.06.02 |
---|---|
JAVA공부하기 95. 추상클래스의 사용 (0) | 2015.06.01 |
JAVA공부하기 93. 추상클래스 / 추상메서드 (0) | 2015.05.28 |
JAVA 공부하기 92. super의 사용형식 /예제 (0) | 2015.05.28 |
JAVA 공부하기 91. this의 사용 (0) | 2015.05.27 |