생각나는데로 적음...




 객체 아규먼트, 객체 오버라이딩, 객체 캐스트?


이 형태가 일어날 수 있는 경우는 상속을 했을 경우이다.


 캐스트는 아닌것 같고..


 아규먼트는,


 BasketBall extends Ball


 이면, Ball이 부모 클래스, BasketBall이 자식 클래스.. 


자식 클래스에서, 만약 메소드 부분에, Ball형이 들어가면, 허용되고, 이것이 객체 아규먼트..


 객체 오버라이딩은 부모클래스에 printball()이 메소드가 있고, 자식 클래스에도 printball()이 있는데,  사용시 자식클래스?거가 사용되는것.


 마지막 객체 캐스트? 이것은


 BasketBall bb = new Ball();


 이게 된다는 말.



생각나는데로 적었음.. ㅇ




--------------------

200제 책보고 다시 정리..


 객체지향 프로그래밍에서 다형성의 특징.. p480 134문제.


 레퍼런스 다형성  Ball b2 = new BaseBall(); 이것이 상속을 한 경우 된다는 말..


아규먼트 다형성   BaseBall클래스에서, 부모 클래스가 Ball인경우, BaseBall클래스에, Ball형 사용가능하다는 말.


 메서드 다형성 -> 오버라이딩.. 

부모클래스에 printball()이 메소드가 있고, 자식 클래스에도 printball()이 있는데,  사용시 자식클래스거가 사용되는것.

p481  클래스를 보고 부모의 원 메서드를 호출하면, 실제로는 부모의 메서드를 호출하지만, 오버라이딩된 자식의 원메서드가 자동으로 호출된다. 다시 말해서 부모의 이름으로 자식을 생성하거나 받은 다음, 부모 쪽에 있는 메서드를 호출하면 오버라이딩된 자식의 메서드가 호출된다. 이를 메서드의 다형성이라고 한다.


p483 다형성

일반적으로 다형성이라 하면 오버로딩과 오버라이딩만 생각한다. 하지만 오버라이딩과 오버로딩은 다형성의 외부로 나타나는 형식이므로 이 책에서는 다형성의 발생 요인을 세가지로 정리한다. 레퍼런스의 다형성, 아규먼트의 다형성, 메서드의 다형성이다.


-----

 이것은 다형성이었고, 또 많다. 은닉화, 상속, 지금위에 설명한 다형성, super이해하기, 패키지 이해하기, 접근제한자 이해하기....