¼Ò½ºÄÚµå¶óÀ̺귯¸®  ´ÙÇü¼º  06 ÀÎÅÍÆäÀ̽º ¿¹Á¦3  

ÀÎÅÍÆäÀ̽º ¿¹Á¦

UpcastingClassTest.java

class Shape {
    
public void 
draw() {
        System.out.println(
"¸ð¾çÀ» ±×¸³´Ï´Ù"
);
    }
    
public void 
delete() {
        System.out.println(
"¸ð¾çÀ» Áö¿ó´Ï´Ù"
);
    }
}
class Circle extends 
Shape {
    
public void 
draw() {
        System.out.println(
"¿øÀ» ±×¸³´Ï´Ù"
);
    }
    
public void 
delete() {
        System.out.println(
"¿øÀ» Áö¿ó´Ï´Ù"
);
    }
    
public void 
sayCircle() {
        System.out.println(
"¾È³çÇϼ¼¿ä ¿øÀÔ´Ï´Ù"
);
    }
}
class Triangle extends 
Shape {
    
public void 
draw() {
        System.out.println(
"»ï°¢ÇüÀ» Çϳª, µÑ, ¼Â, ±×¸³´Ï´Ù."
);
    }
    
public void 
delete() {
        System.out.println(
"»ï°¢ÇüÀ» Áö¿ó´Ï´Ù"
);
    }
    
public void 
sayTriangle() {
        System.out.println(
"¾È³çÇϼ¼¿ä »ï°¢ÇüÀÔ´Ï´Ù"
);
    }
}
class Rectangle extends 
Shape {
    
public void 
draw() {
        System.out.println(
"»ç°¢ÇüÀ» ¿ø, Åõ, ¾²¸®, Æ÷ ±×¸³´Ï´Ù."
);
    }
    
public void 
delete() {
        System.out.println(
"»ç°¢ÇüÀ» Áö¿ó´Ï´Ù"
);
    }
    
public void 
sayRect() {
        System.out.println(
"¾È³çÇϼ¼¿ä »ç°¢ÇüÀÔ´Ï´Ù"
);
    }
}
public class 
UpcastingClassTest {
    
public static void 
main(String[] args) {
        Shape s = 
new 
Shape();
        s.draw();
        s.delete();
        System.out.println();
        
//Ŭ·¡½ºÀÇ ±âº»ÀûÀΠ»ç¿ë¹ý
        
Circle c = new 
Circle();
        c.draw();
        c.delete();
        c.sayCircle();
        System.out.println();
        Triangle t = 
new 
Triangle();
        t.draw();
        t.delete();
        t.sayTriangle();
        System.out.println();
        Rectangle r = 
new 
Rectangle();
        r.draw();
        r.delete();
        r.sayRect();
        System.out.println();
        
//UpcastingÀÇ »ç¿ë
        
Shape c1 = new 
Circle();
        c1.draw();
        c1.delete();
        
//c1.sayCircle(); ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
        
System.out.println();
        Shape t1 = 
new 
Triangle();
        t1.draw();
        t1.delete();
        
//t1.sayTriangle(); ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
        
System.out.println();
        Shape r1 = 
new 
Rectangle();
        r1.draw();
        r1.delete();
        
//r1.sayRect(); ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
    
}
}

C:\5>javac UpcastingClassTest.java
C:\5>java UpcastingClassTest
¸ð¾çÀ» ±×¸³´Ï´Ù
¸ð¾çÀ» Áö¿ó´Ï´Ù
¿øÀ» ±×¸³´Ï´Ù
¿øÀ» Áö¿ó´Ï´Ù
¾È³çÇϼ¼¿ä ¿øÀÔ´Ï´Ù
»ï°¢ÇüÀ» Çϳª, µÑ, ¼Â, ±×¸³´Ï´Ù.
»ï°¢ÇüÀ» Áö¿ó´Ï´Ù
¾È³çÇϼ¼¿ä »ï°¢ÇüÀÔ´Ï´Ù
»ç°¢ÇüÀ» ¿ø, Åõ, ¾²¸®, Æ÷ ±×¸³´Ï´Ù.
»ç°¢ÇüÀ» Áö¿ó´Ï´Ù
¾È³çÇϼ¼¿ä »ç°¢ÇüÀÔ´Ï´Ù
¿øÀ» ±×¸³´Ï´Ù
¿øÀ» Áö¿ó´Ï´Ù
»ï°¢ÇüÀ» Çϳª, µÑ, ¼Â, ±×¸³´Ï´Ù.
»ï°¢ÇüÀ» Áö¿ó´Ï´Ù
»ç°¢ÇüÀ» ¿ø, Åõ, ¾²¸®, Æ÷ ±×¸³´Ï´Ù.
»ç°¢ÇüÀ» Áö¿ó´Ï´Ù

ÀÎÅÍÆäÀ̽ºÀÇ Upcasting ¿¹Á¦



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:°´Ã¼°³³ä¼Ò½ºÄÚµå
ÀúÀÚ:ÃÖ¿µ°ü