Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

자바의 다형성

<시간/>

다형성은 다양한 형태를 취할 수 있는 개체의 능력입니다. OOP에서 다형성의 가장 일반적인 사용은 부모 클래스 참조가 자식 클래스 개체를 참조하는 데 사용될 때 발생합니다.

둘 이상의 IS-A 테스트를 통과할 수 있는 모든 Java 객체는 다형성으로 간주됩니다. Java에서 모든 Java 객체는 모든 객체가 자체 유형 및 객체 클래스에 대한 IS-A 테스트를 통과하기 때문에 다형성입니다.

개체에 액세스할 수 있는 유일한 방법은 참조 변수를 통해서라는 것을 아는 것이 중요합니다. 참조 변수는 한 가지 유형만 가능합니다. 한번 선언된 참조변수의 타입은 변경할 수 없습니다.

참조 변수는 final로 선언되지 않은 경우 다른 개체에 다시 할당할 수 있습니다. 참조 변수의 유형은 개체에서 호출할 수 있는 메서드를 결정합니다.

참조 변수는 선언된 유형의 모든 개체 또는 선언된 유형의 하위 유형을 참조할 수 있습니다. 참조 변수는 클래스 또는 인터페이스 유형으로 선언할 수 있습니다.

예시

예를 살펴보겠습니다.

public                  interface                             Vegetarian{}
public                     class                                  Animal{}
public class Deer extends Animal implements Vegetarian{}

이제 Deer 클래스는 다중 상속이 있기 때문에 다형성으로 간주됩니다. 다음은 위의 예에 해당합니다. -

  • 사슴은 동물입니다
  • 사슴은 채식주의자입니다
  • 사슴은 사슴입니다
  • 사슴은 개체입니다

참조 변수 사실을 Deer 개체 참조에 적용할 때 다음 선언은 유효합니다. −

예시

Deer            d               =         new                      Deer();
Animal          a               =                                       d;
Vegetarian      v               =                                       d;
Object          o               =                                       d;

모든 참조 변수 d, a, v, o는 힙에서 동일한 Deer 개체를 참조합니다.