상속 특징(2) - 클래스 자료형


자료형(타입)

  • 기본 자료형(int,short,double,..) 처럼 클래스도 자료형이다.

  • 상속 관계에서 자식 클래스 객체의 타입은 부모 클래스 타입이여도 상관없다.

    • ex) ParentClass person = new ChildClass();
    • ChildClass 는 ParentClass 로 부터 상속받았으므로, 상위 클래스의 타입이여도 상관없기 때문이다.

예제

  • 배열은 같은 타입의 자료만 저장할 수 있다.
  • 그런데 서로 다른 타입의 객체이더라도, 같은 상위 클래스(=부모 클래스)를 보유한다면, 예제처럼 상위 클래스 타입의 배열에 다른 타입을 가진 객체들이 저장될 수 있다.
// ParentClass 타입의 배열

ParentClass[] pArr = new ParentClass[2];

// 객체 person1, person2 는 각각 다른 클래스로 부터 생성되었음
// (각각 FirstChildClass , SecondChildClass 클래스로 부터 생성됨 )
ParentClass[] person1 = new FirstChildClass();
ParentClass[] person2 = new SecondChildClass();

// 상위 클래스(부모 클래스) 타입의 배열에다 하위 클래스(자식 클래스) 타입의 객체를
// 할당시킴
pArr[0] = person1;
pArr[1] = person2;

// 두 객체는 엄연히 다른 클래스 타입 객체임에도 불구하고, 동일한 상위 클래스를 
// 보유하고 있어서 같은 상위 클래스 타입의 배열에 할당될 수 있다.

좋은 웹페이지 즐겨찾기