본문 바로가기

JAVA

여러 타입의 객체를 하나의 배열로 다루기

다형성으로 인하여 부모 클래스 타입으로 선언된 참조 변수에는 자식 클래스 인스턴스가 저장될 수 있다.

 

이러한 특징을 반영하여 

부모 클래스 타입으로 선언한 배열에 부모 클래스를 상속 받은 자식 클래스 인스턴스를 저장하는 것도 가능해진다.

 

이는 장바구니를 생각해보면 간단하게 이해할 수 있다.

 

Product 라는 부모 클래스를 상속받은 Tv, Phone, Computer 라는 각각의 클래스가 있다고 가정해보자.

class Product{}

class Tv extends Product{}

class Phone extends Product{}

class Computer extends Product{}

 

그리고 Product 클래스 타입의 배열을 선언하여 각 자식 클래스의 인스턴스를 넣어보자.

// 부모 클래스 타입 배열 생성
Product[] products = new Product[3];

// 생성된 배열에 자식 클래스 인스턴스 저장
products[0] = new Tv();
products[1] = new Phone();
products[2] = new Computer();

 

 

상속 관계에 있어서 다형성은 이러한 형태로 데이터 관리를 할 수 있도록 해준다는 장점을 제공한다.

'JAVA' 카테고리의 다른 글

인터페이스  (1) 2022.09.26
추상 클래스 (Abstract class)  (0) 2022.09.25
다형성  (0) 2022.09.24
this 와 super  (0) 2022.09.21
오버라이딩(Overriding)  (0) 2022.09.20