자바공부하기 103

Upcasting

 

: 상위클래스로의 형변환

: 하위클래스 (Super Class) -> 상위클래스(Sub Class)

: 컴파일러에 의해 자동변환

: 상속계층의 측면고려

: 하위클래스는 상위클래스의 서브타입이다.

 

 

 

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("안녕하세요 원입니다.");

}

}

 

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.sayCircle();

System.out.println();

//Upcasting의 사용

Shape c1 = new Circle();

c1.draw();

c1.delete();

//c1.sayCircle(); 에러가 발생합니다.

System.out.println();

Circle cc = new Shape();

}

}

 

 

 

+ Recent posts