자바 구성 예제

자바에서의 구성은 클래스들 간의 has-a 관계를 구현하는 디자인 기법입니다. 코드 재사용을 위해 자바에서는 자바 상속 또는 객체 구성을 사용할 수 있습니다.

자바에서의 구성

자바에서의 구성은 다른 객체를 참조하는 인스턴스 변수를 사용하여 달성됩니다. 예를 들어, PersonJob을 가집니다. 이를 자바 구성 예제 코드로 살펴보겠습니다.

자바 구성 예제

package com.journaldev.composition;

public class Job {
    private String role;
    private long salary;
    private int id;
        
    public String getRole() {
        return role;
    }
    public void setRole(String role) {
        this.role = role;
    }
    public long getSalary() {
        return salary;
    }
    public void setSalary(long salary) {
        this.salary = salary;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    
    
}
package com.journaldev.composition;

public class Person {

    // 구성 has-a 관계
    private Job job;
   
    public Person(){
        this.job=new Job();
        job.setSalary(1000L);
    }
    public long getSalary() {
        return job.getSalary();
    }

}

여기 자바 구성 예제에 대한 테스트 클래스가 있습니다. 이 클래스는 사람 객체를 사용하고 그의 급여를 얻습니다.

package com.journaldev.composition;

public class TestPerson {

    public static void main(String[] args) {
        Person person = new Person();
        long salary = person.getSalary();
    }

}

자바 구성의 장점

위의 자바 구성에 대한 테스트 프로그램은 Job 객체의 변경에 영향을받지 않습니다. 코드 재사용과 두 클래스 간의 관계가 has-a인 경우 상속보다는 구성을 사용해야합니다. 자바에서 구성을 사용하는 이점은 다른 객체의 가시성을 클라이언트 클래스에 제어 할 수 있고 필요한 것만 재사용할 수 있다는 것입니다. 또한 다른 클래스 구현에 변경 사항이 있는 경우, 예를 들어 getSalary가 문자열을 반환하면 Person 클래스를 조정해야하지만 클라이언트 클래스는 변경할 필요가 없습니다. 구성은 필요할 때 백엔드 클래스를 생성 할 수 있도록 허용합니다. 예를 들어 PersongetSalary 메서드를 실행시에 Job 객체를 초기화하도록 변경할 수 있습니다. 자바 프로그래밍에서 가장 좋은 실천 방법 중 하나는 상속보다는 구성을 사용하는 것입니다. Composition vs Inheritance를 자세히 분석하려면이 게시물을 확인하십시오.

Java Composition Youtube Video

최근에 자바에서의 구성에 대해 자세히 설명하는 YouTube 비디오를 만들었습니다. 아래에서 시청해주세요. https://www.youtube.com/watch?v=VfTiLE3RZds 이것으로 자바에서의 구성 또는 자바 구성 예제에 대한 설명을 마칩니다. 애플리케이션 클래스를 디자인할 때 정보를 얻을 수 있는데 도움이 되기를 바랍니다. 참고: 위키백과 페이지

Source:
https://www.digitalocean.com/community/tutorials/composition-in-java-example