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