자바 매개변수의 다형성에 대해서 알아보자.
매개변수의 다형성
다형성이란 여러가지 형태를 가질 수 있는 능력을 의미한다. 전 포스팅에서는 참조변수의 다형성에 대해서 알아보았다. 참조변수의 다형적인 특성은 메소드의 매개변수에도 적용된다.
ex) 아래의 예제는 매개변수의 다형성을 적용한 예제이다.
여기서 Buyer클래스의 buy메소드가 매개변수의 다형성으로 볼 수 있다. buy(Tv t), buy(Computer c)로 각각의 제품마다 buy메소드를 만드는 것 보다 매개변수에 다형성을 적용하여 buy(Product p)로 하나의 메소드에서 간단히 처리할 수 있다.
매개변수가 Product타입의 참조변수라는 것은, 메소드의 매개변수로 Product클래스의 자손타입의 참조변수면 어느 것이나 매개변수로 받아들일 수 있다는 뜻이다. 그리고 Product클래스에 price와 bonusPoint가 선언되어 있기 때문에 참조변수 p로 인스턴스의 price와 bonusPoint를 사용할 수 있다.
앞으로 다른제품 클래스를 추가할 때 Product클래스를 상속받기만 하면, buy(Product P)메소드의 매개변수로 받아들여질 수 있다. 이것이 매개변수의 다형성이다.
'언어공부 > Java' 카테고리의 다른 글
자바 final 키워드 (0) | 2021.05.18 |
---|---|
자바 추상 클래스(Abstract Class), 추상 메소드(Abstract Method) (0) | 2021.05.17 |
자바 다형성, 참조변수의 형변환, 업캐스팅, 다운캐스팅, instance of (1) | 2021.05.14 |
자바 패키지(Package), 패키지 선언, import문, static import문 (0) | 2021.05.13 |
자바 super 레퍼런스, super. 와 super() (0) | 2021.05.12 |