다형성 (1)

Study/JAVA 2014. 10. 10. 10:46


다형성이란

 여러 가지 형태를 가질 수 있는 능력을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현한 것으로 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조 할 수 있도록 하였다는 것이다.



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
class CommonInfo{
    double width;
    double height;
    
    void printCommon(){
        System.out.println("width : " + width);
        System.out.println("height: " + height);
    }
}
 
class Rectangle extends CommonInfo{
    String style;
    
    double calArea(){
        return width * height ;
    }
    
    void printStyle(){
        System.out.println("사각형 종류 :" + style);
    }
}
 
public class ShapeInfo {
 
    public static void main(String[] args) {
        Rectangle r1 = new Rectangle();
        Rectangle r2 = new Rectangle();
        
        r1.width = 5.0;
        r1.height = 5.0;
        r1.style = "정사각형";
        
        r2.width = 6.0;
        r2.height = 10.0;
        r2.style = "직사각형";
        
        System.out.println("r1 사각형 정보");
        r1.printCommon();
        r1.printStyle();
        System.out.println("면적: " + r1.calArea());
        System.out.println("");
        System.out.println("r2 사각형 정보");
        r2.printCommon();
        r2.printStyle();
        System.out.println("면적: " + r2.calArea());
    }
}
 


클래스 CommonInfo와 여기에 상속된 자손클래스 Rectangle 에서 메소드는 하나만 설정했지만


클래스 ShapeInfo 에서 참조변수 r1과 r2를 만들어 사용했다.







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

인터페이스를 이용한 다중상속  (0) 2014.10.10
추상클래스 abstract  (0) 2014.10.10
생성자와 super, this  (0) 2014.10.02
이클립스 폰트설정  (0) 2014.10.01
eclipse 설치부터 실행  (0) 2014.10.01
Posted by 차희빈

차희빈

달력