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

Java에서 상속과 구성의 차이점

<시간/>

컴포지션은 클래스가 다른 클래스의 인스턴스를 클래스 필드로 가질 수 있는 디자인 기술입니다. 상속은 한 개체가 클래스를 확장하여 부모 개체의 속성과 동작을 획득할 수 있는 메커니즘입니다.

구성 및 상속은 모두 클래스를 연관시켜 코드 재사용성을 제공합니다. 합성을 사용하면 상속 기능도 얻을 수 있습니다. 다음은 차이점입니다.

Sr. 아니요. 상속 구성
1
기본
상속은 "is-a" 관계입니다.
구성은 "해야 할 일"입니다. 관계
2
코드 재사용
상속에서 클래스 lass는 하나의 인터페이스만 확장할 수 있으므로 한 클래스에서만 코드를 재사용할 수 있습니다.
여러 클래스에서 코드를 재사용할 수 있습니다.
3
범위
상속은 컴파일 시간에 기능을 제공합니다.
구성은 런타임에 쉽게 달성됩니다.
4
최종
최종 클래스의 코드를 재사용할 수 없습니다.
최종 클래스에서도 코드 재사용 가능
5
메소드
상위 클래스의 public 및 protected 메소드를 모두 노출합니다.
노출되지 않습니다. 그들은 공개 인터페이스를 사용하여 상호 작용합니다.

상속의 예

class Animal{
   String name="Orio";
}
class Dog extends Animal{
   String type="Dog";
   public static void main(String args[]){
      Dog p=new Dog();
      System.out.println("Name:"+p.name);
      System.out.println("Type:"+p.type);
   }
}

작성 예시

public class Student {
}
public class College {
   private Student student;
   public College() {
      this.student = new Student();
   }
}