추상클래스 abstract

Study/JAVA 2014. 10. 10. 15:24

추상클래스란

 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도란, 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다.

 클래스가 미완성이라는 것은 멤버의 갯수에 관계된 것이 아니라 미완성 메서드(추상메서드)를 포함하고 있다는 뜻이다.


 추상클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 조상인 추상클래스의 추상메서드를 모두 구현해주어야 한다. 만일 조상으로부터 상속받은 추상메서드 중 하나라도 구현하지 않는다면, 자손클래스 역시 추상클래스로 지정해 주어야 한다.



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
 
abstract class PayInfo{
    String part;
    int basepay;
    
    public PayInfo(String part, int basepay){    //생성자
        this.part = part;
        this.basepay = basepay;
    }
    
    public void printInfo() {
        System.out.println("부서 : " + part);
        System.out.println("기본급 : " + basepay);
    }
    
    abstract void paySum();
}
 
class SalesDep extends PayInfo {
    public SalesDep(){
        super("영업부", 2000000);
        printInfo();
    }
    
    public void paySum() {
        System.out.println("총급여 : " + (basepay + 800000));
    }
}
 
class EditDep extends PayInfo {
    public EditDep(){
        super("편집부", 2500000);
        printInfo();
    }
    
    public void paySum(){
        System.out.println("총급여 : " + (basepay + 500000));
    }
}
 
public class PayOutPut {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SalesDep s = new SalesDep();
        s.paySum();
        
        EditDep e = new EditDep();
        e.paySum();
    }
 
}
 









'Study > JAVA' 카테고리의 다른 글

Scanner 함수를 이용한 대소문자 변환 소스  (0) 2014.10.13
인터페이스를 이용한 다중상속  (0) 2014.10.10
다형성 (1)  (0) 2014.10.10
생성자와 super, this  (0) 2014.10.02
이클립스 폰트설정  (0) 2014.10.01
Posted by 차희빈

차희빈

달력