관리 메뉴

Frog is cry

캐스팅(day22) 본문

JAVA/국비수업

캐스팅(day22)

Frog is cry 2020. 7. 29. 19:28
package day23.ex01_casting;

public class Man {
	
void met1() {
	
}

void met2() {
	
}
}
package day23.ex01_casting;

public class Superman extends Man{

	void met2() {
		
	}
	
	void met3() {
		
	}
	
}
package day23.ex01_casting;

public class Superman_Ex {

	public static void main(String[] args) {
		
		Superman s = new Superman();
		Man m1 = new Man();
		
		m1 = s;
		
		m1.met1();
		m1.met2();
//		m1.met3();

//		부모 클래스에 자식 값을 담아서 
//		자식클래스에서 만든 met3은 사용할 수 없음.
	}
	
}
package day23.ex01_casting;

public class Parent {
	public void method1() {
		System.out.println("Parent-method1()");
	}
	
	public void method2() {
		System.out.println("Parent-method2()");
	}
	
}
package day23.ex01_casting;

public class Child extends Parent{
	@Override
	public void method2() {
		System.out.println("Child-method2()");
	}
	
	public void method3() {
		System.out.println("Child-method3()");
	}
}
package day23.ex01_casting;

public class Child_Ex {
	public static void main(String[] args) {
		
		Child child = new Child();
		
		Parent parent = child;
		
		parent.method1();
		
		parent.method2();
		
//		parent.method3();
//		Child 객체는 method3을 가지고 있지만, Parent타입으로
//		변환된 이후에는 method3() 메소드를 호출 할 수 없다.
//		그러나 method2() 메소드는 부모와 자식 모두에게 있고 부모의 메소드를
//		자식에서 재정의(오버라이드)했다. 이와 같이 오버라이드된 메소드는
//		타입 변환 이후에도 자식 메소드가 호출된다.
	}
}

'JAVA > 국비수업' 카테고리의 다른 글

instanceOf(day24)  (0) 2020.07.31
다형성, instanceOf(Day22)  (0) 2020.07.30
protected(day21)  (0) 2020.07.28
final(day21)  (0) 2020.07.28
오버라이딩(day20)  (0) 2020.07.27
Comments