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