ch7-29,30 여러 종류의 객체를 배열로 다루기
다형성의 장점은
1. 다형적 매개변수
2. 하나의 배열로 여러 종류 객체 다루기.
가 있는데, 이번에는 하나의 배열에 여러 종류 객체를 다루는 것을 배운다.
하나의 배열에는 같은 타입만 저장할 수 있다. 다형성을 이용하면 배열에 여러 종류의 객체를 저장할 수 있다. 그림을 보면 만들어진 객체의 그림은 다르지만, p1, p2, p3 참조 변수를 배열에 담은 것 외에는 차이가 없다. 조상타입의 배열을 만들면 다형성으로 Product 객체 말고도 자손 객체인 Tv, Computer, Audio를 배열에 담을 수 있다. 같은 것도 올 수 있지만 다른 자손 객체가 들어올 수 있어 여러 종류 객체를 담을 수 있다.
Product 타입의 cart 배열을 만들어서 여러 종류(Tv, Computer, Audio)의 자손 객체를 담는다. 만약 배열을 담지 못하면, Tv [ ] t; 배열을 각 물건 수에 맞게 만들어야 한다.
cart 배열을 만들면 배열값은 기본으로 null이 들어간다.
Product 참조 변수에 Tv 객체가 들어가면, cart[0]에 Tv 객체의 참조 변수 주소값이 들어간다.
i가 증가하면 Computer, Audio 차례대로 들어간다.
실습
main 메서드에서 Buyer를 생성하면, cart 배열이 만들어진다.
메인 메서드에 자손 객체가 담기면서 cart 배열에 참조 변수의 주소값이 차례대로 담긴다.
참조 변수를 출력하면 toString()이 호출된다. cart[ i ] = cart[ i ].toString() 이다.
console에 Tv, Computer, Audio가 출력된다.
'자바 > 자바의 정석 Ch.7 객체지향 프로그래밍 II' 카테고리의 다른 글
ch7-33,34 추상클래스의작성1 (0) | 2023.04.22 |
---|---|
ch7-31,32 추상 클래스, 추상 메서드 (0) | 2023.04.22 |
ch7-27,28 매개변수다형성 (0) | 2023.04.20 |
ch7-26 instanceof 연산자 (0) | 2023.04.19 |
ch7-24,25 참조변수의형변환(2) (0) | 2023.04.19 |