What is aggregation in Java?
Aggregation can be defined as the relationship between two classes where the aggregate class contains a reference to the class it owns. Aggregation is best described as a has-a relationship. For example, The aggregate class Employee having various fields such as age, name, and salary also contains an object of Address class having various fields such as Address-Line 1, City, State, and pin-code. In other words, we can say that Employee (class) has an object of Address class. Consider the following example.
Address.java
- public class Address {
- String city,state,country;
- public Address(String city, String state, String country) {
- this.city = city;
- this.state = state;
- this.country = country;
- }
- }
Employee.java
- public class Emp {
- int id;
- String name;
- Address address;
- public Emp(int id, String name,Address address) {
- this.id = id;
- this.name = name;
- this.address=address;
- }
- void display(){
- System.out.println(id+” “+name);
- System.out.println(address.city+” “+address.state+” “+address.country);
- }
- public static void main(String[] args) {
- Address address1=new Address(“gzb”,“UP”,“india”);
- Address address2=new Address(“gno”,“UP”,“india”);
- Emp e=new Emp(111,“varun”,address1);
- Emp e2=new Emp(112,“arun”,address2);
- e.display();
- e2.display();
- }
- }
Output
111 varun gzb UP india 112 arun gno UP india
Recent Posts