class A{
method(){}
}
class B extends A{
method(){}
methodForB(){}
}
A a = new B();
하면 a는 methodForB 함수를 쓸 수 없다. methodForB를 사용하고 싶으면 어떻게 해야 할까?
-> ((B) a).methodForB()
캐스팅하면 사용 가능.
But, 이런 코드가 나온다는 것 자체가 설계가 뭔가 잘못된 것이다.
1. A에 함수를 만들어 오버라이딩 하여 사용하거나
2. B a = new B(); 하여 사용하는 것 권장.
참고 : https://stackoverflow.com/questions/2701182/call-a-method-of-subclass-in-java
'공부 > Java' 카테고리의 다른 글
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver (1) | 2018.01.22 |
---|---|
JAVA 약어 정리 (0) | 2018.01.17 |
정수 자리수 알아내기 (0) | 2016.06.06 |
Eclipse 명령어 (0) | 2016.06.06 |
이클립스 java cannot be resolved (0) | 2016.06.06 |