Frog is cry
캐스팅(day22) 본문
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