Java의 공변 반환 유형

MD Aminul Islam 2023년10월12일
  1. 공변량 반환 유형 사용의 이점
  2. Covariant 반환 유형 데모
Java의 공변 반환 유형

공변량 반환 유형이라는 용어는 재정의 메서드의 반환 유형을 의미합니다. 유형 캐스팅이 필요하지 않으며 재정의된 메서드의 반환 유형을 좁히는 데 도움이 됩니다.

그러나 Covariant 반환 유형은 비원시적 반환 유형에서만 작동합니다. 이 기사에서는 Covariant 반환 유형에 대해 설명하고 예제 코드를 통해 주제를 배웁니다.

공변량 반환 유형 사용의 이점

시작하기 전에 Covariant 반환 유형에서 얻을 수 있는 이점을 살펴보겠습니다. Covariant 반환 유형을 사용하면 다음과 같은 이점을 얻을 수 있습니다.

  1. 클래스 계층 구조에 있는 유형 캐스트에 대한 혼란을 제거하는 데 도움이 됩니다.
  2. 코드를 사용 가능하고 읽기 쉽고 유지 관리하기 쉽게 만들 수 있습니다.
  3. 메서드를 재정의할 때 보다 구체적인 반환 유형을 얻는 데 도움이 됩니다.
  4. ClassCastException과 같은 런타임 예외를 방지합니다.

Covariant 반환 유형 데모

아래 코드 예제에서는 Covariant 반환 유형을 설명합니다. 아래의 간단한 예를 살펴보십시오.

class MainClass { // Declaring a main parent class
  MainClass get() { // Creating a method for the parent class
    System.out.println("A message from the main class: MainClass");
    return this;
  }
}
// Our controlling class
public class CovariantType extends MainClass { // This class inherit to the parent class
  CovariantType get() { // Overriding the parent class method
    System.out.println("A message from the main class: SubClass");
    return this;
  }
  public static void main(String[] args) {
    MainClass test = new CovariantType(); // Covariant return type. No type casting is required.
    test.get(); // Calling the method
  }
}

우리는 이미 각 코드 줄의 목적을 설명했습니다. 위의 예제에서는 부모 클래스이기도 한 MainClass라는 메인 클래스를 먼저 생성한 다음 get() 메서드를 선언하고 정의했습니다.

자식 클래스 CovariantType에서 부모 클래스 MainClass로 상속하고 부모 클래스의 get() 메서드를 재정의했습니다.

마지막으로 Covariant 유형을 만들고 get() 메서드를 호출했습니다. 위의 예제 코드를 실행하면 콘솔에 아래와 같은 출력이 표시됩니다.

A message from the main class: SubClass
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

관련 문장 - Java Function