Aggregation 기는 참조하는 데 사용되는 방법 중 하나 간의 관계입니다. 예를 들어,학생 클래스는 주소 클래스의 참조를 가질 수 있지만 그 반대는 이해가되지 않습니다.
Java 에서 집계를 나타내 가지고 있는 관계를 의미할 때 클래스가 포함되어 참조 다른 클래스의 알려져 있의합니다
HAS-a 관계는 상속이 아닌 사용법을 기반으로합니다. 즉,클래스가-와의 관계 종류 B 는 경우,클래스에 대한 참조가 있는 클래스의 인스턴스가 B.
이해할 수 있습여 예를 들어 고려 두 개의 클래스는 학생과 주소입니다. 각 학생은 자신의 주소를 가지고 있습니다-관계가 있지만 주소는 학생이 어떤 의미가 없습니다. 우리는 자바 코드를 사용하여 더 명확하게 이해할 수 있습니다.
여기 위의 코드에서,우리는 학생 클래스가 볼 수 있습니다-주소 클래스와의 관계. 이 두 클래스 간의 관계를 보여주기 위해 이미지를 그렸습니다..
Student
Address
Address
Student
ad
Address
클래스입니다.
집계의 장점
집계를 사용하는 주된 이점은 코드 재 유용성을 유지하는 것입니다. 엔티티가 참조하는 것만으로 코드를 재사용 할 수있는 것보다 다른 엔티티와 관계가있는 경우.
Aggregation 예
지금 이해할 수 있습 그것을 사용하여 예를 들어,여기 우리가 만든 두 개의 클래스 저자와 책을 예약 클래스에는 관계자 등에 의해 그 참조. 이제 우리는 두 클래스의 모든 속성을 얻을 수있게되었습니다.
책 이름:자바 BegginerBook 가격: 800————저자 정보———-Auther 이름:JohnAuther 나이:42Auther 장소:미국
할 수 있습을 하나 더 많은 예제를 이해합니다 우리가 하나 더 많은 클래스는 게시자에 그 책은 클래스에 재사용할 수 있습니다 클래스는 게시자 정보를 참조하여 클래스입니다. 자바 코드로 이해할 수 있습니다.
Java 의 컴포지션
컴포지션은보다 제한된 형태의 집계입니다. 구성할 수 있으로 설명 될 때 하나의 클래스를 포함하는 다른 클래스에 따라 그것에서 같은 방법으로는 수 없습니다 기능적으로 존재하지 않는 클래스가 포함됩니다. 예를 들어 클래스가Car
Engine
,지 않을 것으로 기능을 더 이상입니다.
라는 단어 소재는 것을 의미하는 항목은 무언가를 만들어의 경우 우리가 구성을 변경하는 것들의 변경,마찬가지로서 Java 클래스,하나의 클래스를 포함하여 다른 클래스 라고 조성 하드 디스크 드라이브가 포함되어 있 제공하는 핵심 기능을 의미하는 외부 클래스입니다.
class Car{ private Engine engine; Car(Engine en) { engine = en; }}
여기에서 검토하여 코드,우리가 이해할 수 있는 경우 자동차래 있지 않은 관계 엔진 클래스 자동차 없는 존재입니다.
컴포지션은 설계 기법이며 Java 의 기능은 아니지만 Java 코드를 사용하여 달성 할 수 있습니다.
Q. 상속 및 집계를 언제 사용합니까?
을 사용하고 싶을 때 어떤 객실 또는 행동의 모든 클래스의 요구 사항 없이 수정 또는 추가에 더 많은 기능을 그것은,이러한 경우에는 집계가 더 나은 옵션이기 때문에 케이스의 집 우리는 단지를 사용하여 어떤 외부 클래스 안에 우리의 클래스로는 변수입니다.
반면할 때 사용하려는 일부를 수정하는 시설 또는 행위의 외부 클래스 또는 할 수있다 더 추가 기능의 상단에,그것를 이용하실 수 있도록 최선을 다하 상속입니다.
상속에 대한 자세한 내용을 이해하려면 여기에서 자세한 자습서를 방문 할 수 있습니다. 을 보려면 여기를 클릭하십시오에서 상속 Java