Java’da Aggregation (HAS-A)

sametklou

Java’da Aggregation (HAS-A)

Java programlama dilinde sıkça kullanılan bir ilişki türü olan Aggregation, nesne yönelimli programlamanın önemli bir kavramıdır. Aggregation, bir sınıfın başka bir sınıfın bir parçası olduğunu ifade eder. Bu ilişkide bir sınıf diğer bir sınıfın özelliklerini kullanabilir ancak tamamen bağımsız bir yapıya sahiptir.

Aggregation ilişkisi genellikle "HAS-A" ilişkisi olarak da adlandırılır. Örneğin, bir araba sınıfı içinde motor sınıfı bulunabilir. Araba sınıfı motor sınıfının bir özelliği olarak kullanılabilir, ancak motor sınıfı tamamen bağımsızdır ve başka sınıflarda da kullanılabilir.

Aggregation ilişkisini Java'da kodlamak için örnek bir program verelim:

public class Motor {
    private String tur;
    
    public Motor(String tur) {
        this.tur = tur;
    }
    
    public String getTur() {
        return tur;
    }
}

public class Araba {
    private String model;
    private Motor motor;
    
    public Araba(String model, Motor motor) {
        this.model = model;
        this.motor = motor;
    }
    
    public String getModel() {
        return model;
    }
    
    public Motor getMotor() {
        return motor;
    }
    
    public static void main(String[] args) {
        Motor yeniMotor = new Motor("Benzin");
        Araba yeniAraba = new Araba("Mercedes", yeniMotor);
        
        System.out.println("Araba Modeli: " + yeniAraba.getModel());
        System.out.println("Motor Türü: " + yeniAraba.getMotor().getTur());
    }
}

Yukarıdaki örnekte Motor ve Araba sınıfları arasında Aggregation ilişkisi bulunmaktadır. Araba sınıfı Motor sınıfını içerir ancak Motor sınıfı bağımsız bir şekilde kullanılabilir.

Aggregation ilişkisi Java programlama dilinde sıkça kullanılan bir kavramdır ve uygun şekilde kullanıldığında programların daha modüler ve okunabilir olmasını sağlar. Bu konuyu daha detaylı öğrenmek için Java'nın resmi belgelerini inceleyebilirsiniz.