1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | package com.test; public class abstract { public static void main(String[] args) { Circle c1 = new Circle(); Rectangle r1 = new Rectangle(); c1.draw(); r1.draw(); c1.erase(); r1.erase(); } } //도형 클래스 // - 원, 사각형 클래스 //부모 클래스를 일반 클래스? 추상 클래스? 할 지의 기준? //1. 자식에게 물려줄 멤버만 필요 -> 일반 클래스 //2. 자식에게 물려줄 멤버 + 자식 행동을 표준화 -> 추상 클래스 abstract class Shape { //ex)2번 //일반멤버 public String name; public int width; public int height; public void check() { System.out.printf("도형 : %s\n", this.name); } //추상멤버 public abstract void draw(); public abstract void erase(); } //일반 클래스 class Circle extends Shape { @Override//추상메소드를 재정의했따.. public void draw() { System.out.println("원을 그립니다."); }@Override public void erase() { System.out.println("원을 지웁니다."); } } class Rectangle extends Shape { @Override public void draw() { System.out.println("사각형을 그립니다."); }@Override public void erase() { System.out.println("사각형을 지웁니다."); } } | cs |
'WEB > JAVA' 카테고리의 다른 글
FINAL (0) | 2015.05.22 |
---|---|
OVERRIDE(오버로딩) (0) | 2015.05.22 |
ABSTRACT CLASS(추상클래스)1 (0) | 2015.05.22 |
OBJECT CLASS (0) | 2015.05.22 |
INHERITANCE(상속) (0) | 2015.05.22 |