1. 다형적 매개변수
>> 조상 타입의 참조변수로 자손 객체를 다루는것
>> 참조변수의 형변환 -> 리모컨 바꾸기 -> 사용할수 있는 멤버의 갯수 조절
>> instanceof 연산자 -> 형변환 가능 여부 체크
-- 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손타입의 인스턴스를 넘겨 줄수 있다.
상품 클래스,
상품 클래스를 상속하는 Tv, Computer, Audio
소비자 클래스가 있을때
void buy(Tv t) --> 라는 매서드가 있다면 buy의 매개 변수로는 Tv 타입만 들어올수 있으므로
Computer나 Audio를 사려면
void buy(Computer c), void buy(Audio a) 매서드가 필요하다
이럴경우 매서드가 너무 많아지고 다루기가 힘든데 이경우는 매개변수로 조상타입을 넣어주면된다
즉 조상타입의 참조변수로 자손타입의 객체를 다루는것이다.
void buy(Product p){ }
왜냐하면 다형성에 의해서
Product p1 = new Tv();
---> p1은 Tv 객체의 주소를 가지고 있으므로 p1은 결국 Tv()를 가리키고 있는 것이다.
---> p1.price의 경우는 Tv의 가격이 된다.
---> 이하 똑같은 방식이다.
Product p2= new Computer ();
Product p3 = new Audio ();
'dev > JAVA' 카테고리의 다른 글
[JAVA] 인터페이스의 다형성 (0) | 2022.05.31 |
---|---|
[JAVA] 인터페이스 (0) | 2022.05.31 |
[JAVA] 다형성 / 참조변수간의 형변환 (0) | 2022.05.30 |
[JAVA] 매개변수(Parameter) , 인수(argument) (0) | 2022.05.30 |
[JAVA] 클래스 (0) | 2022.05.30 |